Avatar billede dragonbook Nybegynder
08. oktober 2005 - 17:57 Der er 15 kommentarer og
1 løsning

Led mobiltelefoner til wap side ?

Er det muligt at lede bruger der går ind på ens webside med deres mobil til en wap side, istedet for den almindelige side ?
Avatar billede udvikler Nybegynder
08. oktober 2005 - 18:08 #1
fx:
<?php
header('www.side.dk/wapudgave');
?>
Avatar billede dragonbook Nybegynder
08. oktober 2005 - 18:11 #2
Det er ikke helt det jeg mener.

Det er kun bruger fra mobiltelefoner der skal ledes over på wap siden, ikke alm. webbrugere.
Avatar billede bojo Nybegynder
08. oktober 2005 - 18:41 #3
brug  $_SERVER['HTTP_USER_AGENT'] til at finde ud af hvilken browser der bruges
Avatar billede dragonbook Nybegynder
08. oktober 2005 - 18:43 #4
okay hvordan gøres dett, er ingen ørn til php.....
Avatar billede bojo Nybegynder
08. oktober 2005 - 18:46 #5
Måske du kan bruge noget af dette http://www.eksperten.dk/spm/25308 - det er iøvrigt en god ide at søge :-)
Avatar billede dragonbook Nybegynder
08. oktober 2005 - 18:56 #6
jeh HAR faktisk søgt meget for at finde noget jeg kan bruge, men har endnu kun fundet en måde at vidresende ud fra brug af browsertyperne IE, FF, NS og Opera. Intet om mobiltelefoner
Avatar billede showsource Seniormester
08. oktober 2005 - 21:58 #7
Bruger selv
<?php
$info = $_SERVER["HTTP_ACCEPT"];
$pos = strpos(strtolower($info), "wml");
    if(false === $pos) {
include("http_index.php");
}else{
include("wap_index.php");
}
?>
Avatar billede dragonbook Nybegynder
10. oktober 2005 - 10:09 #8
showsource: Jeg har prøvet scriptet men det virker ikke helt efter planen, jeg får følgende fejl på min mobil: Parse error: parse error, unexpected T_string in bla bla bla linie 1
Avatar billede showsource Seniormester
10. oktober 2005 - 10:26 #9
Bortset fra at Opera også har wml med i "accept", virker det nu fint nok! :O)
Det er nok dit output til wap den er gal med!
Eks. på brug:
http://taxa.steffend.dk/

Noget jeg startede på sidste år! :O) (og ikke har pillet mere ved)

Med PHP, laves output til wapbrowser f.eks.

<?php
header("Content-type: text/vnd.wap.wml");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n";
echo "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\""
. " \"http://www.wapforum.org/DTD/wml_1.1.xml\">\r\n";
?>
<wml>
<card id="test" title="Doc title">
<p>
<small>
Hej du!
</small>
</p>
</card>
</wml>
Avatar billede dragonbook Nybegynder
10. oktober 2005 - 21:02 #10
Har fået det til at virke med dit script, men mener dog ikke det er en holdbar løsning, eftersom Opera er blevet gratis igen. Jeg kan se på min statistik at opera bliver benytte mere og mere fra måned til måned.

Jeg har imidlertid fundet et andet script som er hentet herfra:
http://www.zend.com/codex.php?id=269&single=1

<?php

##This top lines inserted in index.php preserves the same URL
#to WAP, WEB TV or traditional browsers users.
#Example:
#Instead of http://nave.net/wap , http://nave.net/webtv and http://nave.net ,
#all users goes to http://nave.net with any browser... until another new
#technology appears... If this happens, few changes in this code maybe solve.

#This code is a hard modification of another that I copied from somebody and
#stored months ago. Sorry but I cannot give the correct credit for now.


#Tell me if works fine. Improves are welcome.
#php@nave.net - Omar Ballabio

#Functional example in http://nave.net/lab/useragent.php

    $status=    "HTML" ;
      $ext=        substr($REQUEST_URI,-3,3);
      $agent=    strtolower(trim($HTTP_USER_AGENT));
      $browser=      substr($agent,0,4);
    $tviwer=    substr(stristr($agent , tv),0,2);
    $wapviwer=    substr(stristr($agent , wap),0,3);

  if(    $ext==        "wml"  ||
          $wapviwer==    "wap"    ||
          $browser==    "noki"    ||
          $browser==    "eric"    ||
          $browser==    "r380"    ||
          $browser==    "up.b"    ||
          $browser==    "winw"    ||
          $browser==    "wapa")
##For redirect WAP users to "yourWAPfile.wml"
##Replace ("../wap/index.wml") to ("yourWAPfile.wml").
        {$status= "WAP" ;
        header("Content-type: text/vnd.wap.wml");
                include "../wap/index.wml";}
else

   
    if(    $tviwer== "tv")
##For redirect WEB TV users to "yourWEBTVfile.htm"
##Replace ($status= "TV") to (include "yourWEBTVfile.htm").
        {$status= "TV" ;}
else
##For redirect HTML users to "yourHTMLfile.htm"
##Replace ($status= "HTML") to (include "yourHTMLfile.htm").
        {$status= "HTML" ;}

?>

<P>
HTTP_USER_AGENT:    <?PHP echo $HTTP_USER_AGENT ?>
<br>
STATUS:            <?PHP echo $status ?>
<p>

Problemet ved dette script er bare at den spytter html siden ud til min mobil fordi denne understøtter html.

Kunne man på en måde tage det bedste fra de to script og få et perfekt script, der ikke sender f.eks. Opera til wap siden også?
Avatar billede showsource Seniormester
11. oktober 2005 - 12:59 #11
hmm, ja han prøver jo at bruge finde navnet på browser.

Umiddelbart ville jeg fortsætte med det første, og så tjekke om det er en opera browser som henter siden, ($_SERVER["HTTP_USER_AGENT"]), og hvis det er så vis http.
Avatar billede showsource Seniormester
11. oktober 2005 - 13:12 #12
Og b.t.w. nu du også vil lave "mobilsider", hvis ikke du kender den,
http://developer.openwave.com/dvl/tools_and_sdk/openwave_mobile_sdk/phone_simulator/

et "must" for en "wml-developer" :O)
Avatar billede dragonbook Nybegynder
12. oktober 2005 - 19:12 #13
Kunne man ikke gøre det sådan:

Wml ikke aktiv --> bliv på siden
Wml aktiv -->tjek for html understøttelse

Ingen html understøttelse --> send bruger til wml side
Html understøttelse  --> kontroller for skærmopløsning

Skærmopløsning kan ikke bestemmes evt. p.g.a. mangel på java. ---> bliv på siden
Skærmopløsning over f.eks. 300 px --> bliv på siden
Skærmopløsning under 300 px --> send bruger til wml side

På denne måde kunne man sikre at computerbrowser der understøtter wml ikke får vist wml siden. Det kunne jo være andre end Opera der har det aktiveret.
Nogle mobil bruger vil formodentligt blive ledt til html siden på grund af manglende java, men det er efter min mening bedre at en mobiltelefon bliver vildledt end en computerbruger.

Så er der bare lige en ting tilbage, jeg har ingen anelse om hvordan man kan lave selve scriptet, så jeg håber der er en der vil/kan.

Sætter point til 200 hvis der er en der laver det, da jeg mener det er et større stykke arbejde :-)
Avatar billede showsource Seniormester
14. oktober 2005 - 10:15 #14
"Wml aktiv -->tjek for html understøttelse"
mange mobiler kan også vise alm. html sider.

Umiddelbart ville jeg holde mig ajour med hvilke "normale" browsere som også understøtter wml, og så bruge $_SERVER["HTTP_USER_AGENT"] til at vise wml eller html
Avatar billede dragonbook Nybegynder
14. oktober 2005 - 13:42 #15
Ja det ved jeg der er derfor jeg vil kontrollere for skærmopløsning.
Avatar billede dragonbook Nybegynder
26. oktober 2005 - 16:06 #16
lukket
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