/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
To sider på samme domænenavn
Fra : Morten Nielsen


Dato : 21-04-05 10:31

Hej NG,

Jeg har lavet en hjemmeside, der findes i to versioner, en til "almindelige
computere" og en til mobile enheder. Jeg vil gerne have, at når man går ind
på den pågældende side får man, i tilfælde af at man sidder med en stationær
computer, den fulde side, og hvis man benytter en mobil enhed (eks.vis pda
eller mobiltelefon), får man en side i xhtml strict, med en meget let
databelastning (gør det billigt og hurtigt med gprs).

Jeg er klar over at man kan vælge layout baseret på klienten ved hjælp af
stylesheet. Men som det fremgår, er det ikke blot layout men hele indholdet
der er forskelligt for de to sider.

Indtil videre har jeg valgt at tjekke klienten først på siden:

//Tjek om brugeren kigger på en pda
$useragent = GetHostByName($HTTP_USER_AGENT);
$agent = split(';', $useragent);
$temp = $agent[2];
//Skriv en side særligt til ppc hvis det er sådan en klient:
if ($agent[2] == " Windows CE") {
include 'pda/index.php';
//ellers skriver vi bare den almindelig side
} else {

Dette virker imidlertid kun for Window mobile brugere der får pda-versinen.
Jeg vil høre om der er nogen der har et bud på, hvordan jeg kan tjekke for
andre mobile klienter (Palm, symbian og andre mobiltelefoner), der alle
fortsat får den "almindelige" side.

Håber ovenstående giver mening, og at der er nogen der har et godt bud, da
jeg er kørt en smule fast.


Venligst
Morten



 
 
Jacob Atzen (21-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 21-04-05 10:47

On 2005-04-21, Morten Nielsen <morten@[fjern-ved-svar]> wrote:
> Indtil videre har jeg valgt at tjekke klienten først på siden:
>
> //Tjek om brugeren kigger på en pda
> $useragent = GetHostByName($HTTP_USER_AGENT);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Det der giver bare ingen mening. Derudover bør du bruger $_SERVER[]
arrayet til at hive HTTP information ud af, prøv at checke i manualen[1]
om det ikke indeholder noget du kan bruge.

[1]:
<http://dk2.php.net/manual/en/reserved.variables.php#reserved.variables.server>

--
Med venlig hilsen
- Jacob Atzen

Morten Nielsen (21-04-2005)
Kommentar
Fra : Morten Nielsen


Dato : 21-04-05 11:09


"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrnd6etk7.h2.jacob@tank.aub.dk...

>> //Tjek om brugeren kigger på en pda
>> $useragent = GetHostByName($HTTP_USER_AGENT);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Det der giver bare ingen mening. Derudover bør du bruger $_SERVER[]
> arrayet til at hive HTTP information ud af, prøv at checke i manualen[1]
> om det ikke indeholder noget du kan bruge.

Beklager, det er min dårlige kodning, den korrekte syntaks er vel:

$useragent = $_SERVER['HTTP_USER_AGENT']

Dette giver mig en array hvor jeg faktisk kan se om det er en mobil eller
stationær enhed. I hvert fald kan man give et kvalificeret bud. Hvis arrayen
indeholder "Windows CE" eller "Nokia", så er det nok en mobil enhed. Så på
den måde kan jeg fange en del af de mobile enheder og sende dem til en
særlig udgave af siden.

Det jeg efterlyste, var om der var en anden og bedre måde at gøre dette på?

Venligst
Morten



Jacob Atzen (21-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 21-04-05 20:36

On 2005-04-21, Morten Nielsen <morten@[fjern-ved-svar]> wrote:
> Dette giver mig en array hvor jeg faktisk kan se om det er en mobil
> eller stationær enhed. I hvert fald kan man give et kvalificeret bud.
> Hvis arrayen indeholder "Windows CE" eller "Nokia", så er det nok en
> mobil enhed. Så på den måde kan jeg fange en del af de mobile enheder
> og sende dem til en særlig udgave af siden.
>
> Det jeg efterlyste, var om der var en anden og bedre måde at gøre
> dette på?

Kan HTTP_ACCEPT hjælpe dig på vej? Jeg er ikke bekendt med nogen fast
måde, at skelne mobile enheder fra andre.

--
Med venlig hilsen
- Jacob Atzen

Morten Nielsen (22-04-2005)
Kommentar
Fra : Morten Nielsen


Dato : 22-04-05 11:57

"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrnd6g046.h2.jacob@tank.aub.dk...

> Kan HTTP_ACCEPT hjælpe dig på vej? Jeg er ikke bekendt med nogen fast
> måde, at skelne mobile enheder fra andre.

Såvidt jeg kan se, giver HTTP_ACCEPT mig mindre mulighed for at gætte om der
er tale om en mobil enhed. Den variabel min Nokia returnere ligner næste
mere min stationæres end min pdas (pda'en returnere kun "*/*").

Jeg har prøvet at skrive min tidligere kode om, og har nu fået den til at
fange min Nokia 6230, har ikke testet med andre Nokiatelefoner, men gætter
på at det nok også virker med dem. Koden ser nu således ud:

$useragent = $_SERVER['HTTP_USER_AGENT'];

echo "Variablen HTTP_USER_AGENT returnere: $useragent <br />";

if ((preg_match("/CE/", $useragent)) || (preg_match("/Nokia/", $useragent)))
{
echo "Derfor antager jeg at dette er en pda/mobiltelefon.";
} else {
echo "Derfor antager jeg at dette IKKE er en pda/mobiltelefon.";
}

Hvis der er nogen, der sidder med en telefon (eller anden mobil brower (ex.
palm)), der har mulighed for at prøve at gå ind på
http://tjoernelundnielsen.dk/test.php, og se om de får det rigtige svar, så
vil jeg blive meget glad for at høre om resultatet. Jeg forestiller mig, at
jeg kommer til at udbygge listen over ord jeg tjekker for, for at fange så
mange mobile enheder som muligt (medmindre der er en php-superbruger,
derfortæller mig at dette vil øge tiden det tager at indlæse siden
drastisk(?)).


/Morten



Bertel Lund Hansen (22-04-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 22-04-05 13:04

"Morten Nielsen" <morten@[fjern-ved-svar]tjoernelundnielsen.dk>
skrev:
>Hvis der er nogen, der sidder med en telefon (eller anden mobil brower (ex.
>palm)), der har mulighed for at prøve at gå ind på
>http://tjoernelundnielsen.dk/test.php

Du kan nok med fordel tjekke for "SonyEricsson". Den streng
findes i den besked jeg modtager på min K700i. Din side fortæller
at det IKKE er en mobil.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Morten Nielsen (22-04-2005)
Kommentar
Fra : Morten Nielsen


Dato : 22-04-05 15:17

"Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i en meddelelse
news:duph61pehlag79njodc8qkigggavg2rj14@news.stofanet.dk...

> Du kan nok med fordel tjekke for "SonyEricsson". Den streng
> findes i den besked jeg modtager på min K700i. Din side fortæller
> at det IKKE er en mobil.

Hermed gjort!

Vil fortsat gerne høre fra personer, der har tid og lyst til at tjekke med
deres mobile enhed. Jeg vil så forsøge at holde en list på siden opdateret
med de strenge der tjekkes for. Siden ligger her:
http://tjoernelundnielsen.dk/test.php.

Jeg håber også hermed at kunne slå et slag for, at man tænker mobile enheder
med, når man tænker tilgængelighed og browserkompabilitet!


Venligst
Morten



René Lønstrup (23-04-2005)
Kommentar
Fra : René Lønstrup


Dato : 23-04-05 10:00

Morten Nielsen wrote:
> Vil fortsat gerne høre fra personer, der har tid og lyst til at
> tjekke med deres mobile enhed. Jeg vil så forsøge at holde en list på
> siden opdateret med de strenge der tjekkes for. Siden ligger her:
> http://tjoernelundnielsen.dk/test.php.

Min Siemens S55 returnerer følgende streng:
SIE-S55/20 VP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0

Og min brors Motorola V220 returnerer dette:
MOT-V220/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0


--
Mvh René Lønstrup
web: http://www.rel7star.dk?r=usenet
email: se om du kan regne dén ud..



Erik Ginnerskov (23-04-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 23-04-05 00:23

Morten Nielsen wrote:

> og hvis man
> benytter en mobil enhed (eks.vis pda eller mobiltelefon), får man en
> side i xhtml strict,

Hvorfor skulle almindelige computere ikke også have en xhtml-version?

> Jeg er klar over at man kan vælge layout baseret på klienten ved
> hjælp af stylesheet. Men som det fremgår, er det ikke blot layout men
> hele indholdet der er forskelligt for de to sider.

Den ideelle løsning er imho. netop en css-løsning, hvor du til mobiler
reducerer mængden af indhold med display:none; på nogle elementer.

Den anden løsning sætter dig i det dilemma, at du ikke kan ændre noget på en
side uden at tænke på, om du skal gøre det samme på den anden version af
samme side.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Peter Brodersen (23-04-2005)
Kommentar
Fra : Peter Brodersen


Dato : 23-04-05 02:16

On Sat, 23 Apr 2005 01:22:32 +0200, "Erik Ginnerskov"
<erik@donotspammmeplease.invalid> wrote:

>Den ideelle løsning er imho. netop en css-løsning, hvor du til mobiler
>reducerer mængden af indhold med display:none; på nogle elementer.

Til gengæld skal brugeren downloade en mængde indhold uden det har
noget formål. Det tager både tid og koster penge for den typiske
mobile bruger, der betaler pr. minut eller pr. MB.

Man kan dog let risikere at gøre en bjørnetjeneste. Jeg blev temmeligt
irriteret, da Google pludselig begyndte at sende mig en WAP-side til
min mobil (der har et fint display og Opera-browser) - endda en
WAP-udgave, hvor jeg ikke længere kunne bruge Googles lommeregner
eller mange andre rare features. Heldigvis kan man med den rette url
gå til web-udgaven af Google.

--
- Peter Brodersen

Morten Nielsen (23-04-2005)
Kommentar
Fra : Morten Nielsen


Dato : 23-04-05 10:44

"Erik Ginnerskov" <erik@donotspammmeplease.invalid> skrev i en meddelelse
news:42698744$0$79462$14726298@news.sunsite.dk...

> Hvorfor skulle almindelige computere ikke også have en xhtml-version?

Tror sådan set også at den almindelige version bliver næsten validerbar som
xhtml (jeg skriver næsten fordiat HTMLarea ikke altid returnere valid kode).
Det var bare for at understrege, da de fleste mobile browsere ikke er glad
for html.

> Den ideelle løsning er imho. netop en css-løsning, hvor du til mobiler
> reducerer mængden af indhold med display:none; på nogle elementer.

Men her kommer brugeren jo stadigt til at hente en mængde unødig data.

> Den anden løsning sætter dig i det dilemma, at du ikke kan ændre noget på
> en
> side uden at tænke på, om du skal gøre det samme på den anden version af
> samme side.

Hele ideen er netop at alt indhold bliver hentet fra den samme database, så
de artikler og nyheder man kan læse på den mobile side, er de samme som på
den stationære. Men jeg vælger blot ikke at give adgang til alle de ting der
ellers ligger på den almindlige side. Ideen er at siden så bliver mere
tilgængelig, særligt via gprs, og man får stadigt de væsentlige
informationer fra siden.


/Morten



Jacob Atzen (23-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 23-04-05 12:30

On 2005-04-23, Morten Nielsen <morten@[fjern-ved-svar]> wrote:
> Hele ideen er netop at alt indhold bliver hentet fra den samme database, så
> de artikler og nyheder man kan læse på den mobile side, er de samme som på
> den stationære. Men jeg vælger blot ikke at give adgang til alle de ting der
> ellers ligger på den almindlige side. Ideen er at siden så bliver mere
> tilgængelig, særligt via gprs, og man får stadigt de væsentlige
> informationer fra siden.

Har jeg overset noget eller ville det ikke være meget nemmere, bare at
lave to url'er (http://mobil.example.com og http://www.example.com)?

--
Med venlig hilsen
- Jacob Atzen

Morten Nielsen (23-04-2005)
Kommentar
Fra : Morten Nielsen


Dato : 23-04-05 15:20

"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrnd6kce4.bh.jacob@tank.aub.dk...
>
> Har jeg overset noget eller ville det ikke være meget nemmere, bare at
> lave to url'er (http://mobil.example.com og http://www.example.com)?

Jo det kunne man for såvidt godt. Men min idé var jo netop, at brugerne ikke
selv skulle finde ud af, at der var en mobil version, men at de blev smidt
ind på den automatisk. Men man kunne så overveje om man burde give brugerne
den mulighed, at de aktivt kunne vælge sig ind på den "almindlige" udgave af
siden (evt med et @mobil CSS).


/Morten



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste