Avatar billede sabumnim Novice
25. juli 2011 - 17:04 Der er 12 kommentarer og
1 løsning

Mobilt website html5 og php

Hej alle

Jeg har et website, som jeg påtænker at ændre således når man kommer ind på sitet, via en mobil enhed, så redirecter den over til en anden mobil side som ligger på et subdomæne.

Mit spørgsmål går nu på følgende:
Hvis brugeren klikker på et link der hedder "View full site", så skal denne redirect omgås.

Hvordan omgår jeg denne redirect ?

Kan det løses med php ?

//Carsten
Avatar billede jakobdo Ekspert
25. juli 2011 - 19:24 #1
Ja, det kan godt løses med php.
Du kan jo lave:

www.dinside.dk

Når man kommer ind på denne side, så har du noget som detekter mobil devices...
Er der tale om mobil device, smider du dem til:

mobil.dinside.dk
Er der alligevel en fra mobil.dinside.dk, som klikker på www.dinside.dk (full site) laver du bare linket som:

www.dinside.dk?full

Og der hvor du redirecter til mobil side eller ej, laver du lige et tjek, om full er sat eller ej.
Er den sat, så viser du full site.
Er den ikke sat, laver du dit mobil device tjek.
Avatar billede Slettet bruger
25. juli 2011 - 19:57 #2
Du ku' også "nøjes med" at vise brugeren at muligheden findes, i en "popup-div", og lade brugeren vælge hvilken version hun foretrækker.
- og så gemme denne præference i en cookie.
Avatar billede jakobdo Ekspert
25. juli 2011 - 20:10 #3
#2 Jeg synes bestemt det er rart, at man smides direkte til en mobil side, hvis en sådan findes. Men det er jo nok igen et spørgsmål om smag og behag. :o)
Avatar billede Slettet bruger
25. juli 2011 - 20:36 #4
Tja.. men mange at de nyere dåser er jo rigeligt kraftige til at vise "det fulde" site, fremfor en neddroslet små-skærms-version.
- valgfrihed er (næsten) altid godt..
Avatar billede sabumnim Novice
25. juli 2011 - 20:42 #5
Hej jakobdo

Jeg regner med at smide brugerne direkte over på det mobile website uden et mellemklik, så den er jeg med på og istemmer.

Men for lige at tage fat ved roden.

Brugeren kommer ind på mit website
På index siden har jeg denne detection:

[code]

<?php
if ($vers != "full") {
$useragent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
header('Location: http://mobil.mitdomæne.dk');
}

?>

[/code]

Og på mit mobile website ville jeg så kunne lave noget a la dette eller hvad ?

http://mitdomæne.dk/index.php?vers=full

??

Men hvis nu brugeren læser et uddrag af en nyhed, mens brugeren er på mit mobile website, ville nyheden komme til at hedder noget a la dette:
http://mitdomæne.dk/visnyhed.php?id=3

Men hvordan kobler jeg så denne variabel på med ?vers=full på også ?

Sp. 2)
Når brugeren er ankommet på mit website fordi han har klikket på mit nyhedsuddrag, så har han læst den fulde nyhed på selve websitet, og klikker så (mens han er på selve websitet) på menupunktet "Nyheder" for at se alle nyheder. Men den har jo ikke variablen ?vers=full, og han vil derfor blive sendt direkte over på mit mobile website....

Er det sådan det skal være eller kan man gøre noget så han får lov til at blive på mit egentlige website ?

Håber du forstår..

//Carsten
Avatar billede jakobdo Ekspert
25. juli 2011 - 20:43 #6
Tja både og...
En mobil enhed er jo stadig begrænset i sin noget mindre skærm, og der er det da bestemt rart med et design som passer bedre til disse små skærme.
Avatar billede jakobdo Ekspert
25. juli 2011 - 20:46 #7
Tja, det kan være du skal gøre som der er nævnt i: #2.
Gem full i en cookie.
På den måde vil du undgå det problem.
Vil du ikke også vise nyheder i et mobilt design eller?
Avatar billede sabumnim Novice
25. juli 2011 - 20:54 #8
Hej igen jakobdo

Det kan godt være jeg bare skal vise mine nyheder på det mobile site også.
Det skal jeg lige overveje lidt mere. Men den løsning jeg egentlig forsøgte at vise foroven kiksede da jeg ikke kunne huske listen over de tilladte BBcodes her på siden. (Ved du hvor jeg kan se en liste over disse?)

Men den løsning jeg beskriver, eller forsøger at beskrive, ville det kunne virke efter din mening ?

//Carsten
Avatar billede jakobdo Ekspert
25. juli 2011 - 20:57 #9
Uden jeg kan se din fulde kode, så burde det virke ja.
Og et godt råd, smid altid en exit(); efter en header() med location i.
Avatar billede sabumnim Novice
25. juli 2011 - 21:01 #10
Hej igen

Tak for din guide til hvor jeg skal pille lidt rundt og tak for de små fif, jeg accepterer og tildeler dig dine velfortjente point :0)

Ps. listen over tilladte BBcodes her på exp.dk, ved du hvor jeg kan finde den ?

Tak for hjælpen

//Carsten
Avatar billede sabumnim Novice
25. juli 2011 - 21:02 #11
uuhhh møj.....

Fik tildelt pointene til mig selv.

Opretter lige et spørgsmål hvor du så bare skal svare så tildeler jeg dig pointene der. Jeg undskylder

//Carsten
Avatar billede sabumnim Novice
25. juli 2011 - 21:04 #12
Hej igen

Har oprettet et spørgsmål her, så klik derover og opret et svar, så tildeler jeg dig dine velfortjente point

http://www.eksperten.dk/spm/943757

//Carsten
Avatar billede Slettet bruger
25. juli 2011 - 22:13 #13
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester