simenss Skrevet 3. januar 2004 Del Skrevet 3. januar 2004 Jeg prøver å sette opp et script som finner ut om mine besøkene er mobil eller PC. Jeg bruker $HTTP_USER_AGENT. Men jeg har et problem. Personer med Sony Ericsson T610 blir sett på som en PC Noen som vet HTTP_USER_AGENT'en til Sony Ericsson T610? PS: 'eric' og 'sony' virker ikke. Lenke til kommentar
simenss Skrevet 4. januar 2004 Forfatter Del Skrevet 4. januar 2004 sjekke webloggen? Tror jeg klarer det nå Lenke til kommentar
muffe Skrevet 5. januar 2004 Del Skrevet 5. januar 2004 Hvordan klarte du det? Vil du dele hemmeligheten med oss? Lenke til kommentar
simenss Skrevet 5. januar 2004 Forfatter Del Skrevet 5. januar 2004 Jeg lagde en PHP-fil med koden under: print(substr(trim($HTTP_USER_AGENT),0,4)); Så gikk jeg inn på filen med en Sony Ericsson T610. Da kom det opp 'Sony'. Går du inn med en Nokia, kommer det opp 'Noki' osv. PC'er er ofte 'Mozi'. Se her... Lenke til kommentar
FuLu Skrevet 5. januar 2004 Del Skrevet 5. januar 2004 Tror ikke metoden din for å finne ut hvilken UA folk bruker er så veldig lur. Greit at du bruker $_SERVER['HTTP_USER_AGENT'], men den substr er nok litt for dårlig. Prøv deg heller på preg_match eller eregi. En veldig enkel en som dette if(eregi("sony", $_SERVER['HTTP_USER_AGENT'])) { echo "Du har en Sony et eller annet"; } Lenke til kommentar
simenss Skrevet 5. januar 2004 Forfatter Del Skrevet 5. januar 2004 if(eregi("sony", $_SERVER['HTTP_USER_AGENT'])) { echo "Du har en Sony et eller annet"; } Hva er forskjellen? Lenke til kommentar
Torbjørn Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 lagre hele USER_AGENT, ikke bare deler av den, så blir det lettere å se hvilket mønster du skal se etter for hver telefon Lenke til kommentar
FuLu Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 if(eregi("sony", $_SERVER['HTTP_USER_AGENT'])) { echo "Du har en Sony et eller annet"; } Hva er forskjellen? Forskjellen er at metoden din ikke tar forbehold om at den strengen kan forandre seg. Hva om "Sony" teksten ikke er plassert på den plassen du bruker substr (i fremtiden), Noki blir også litt begrenset måte å finne ut om det er Nokia. Mulig du bare skal finne ut om det er Sony, men likevel så er den metoden din veldig usikker mot forandringer, eregi finner "sony" i strengen uansett hvor den er plassert. Lenke til kommentar
simenss Skrevet 6. januar 2004 Forfatter Del Skrevet 6. januar 2004 Forskjellen er at metoden din ikke tar forbehold om at den strengen kan forandre seg. Hva om "Sony" teksten ikke er plassert på den plassen du bruker substr (i fremtiden), Noki blir også litt begrenset måte å finne ut om det er Nokia. Mulig du bare skal finne ut om det er Sony, men likevel så er den metoden din veldig usikker mot forandringer, eregi finner "sony" i strengen uansett hvor den er plassert. Jeg brukker denne PHP-koden (utdrag): $browser = substr(trim($HTTP_USER_AGENT),0,4); Hva skal jeg endre den til, for å få den slik du mener? '$browser' skal bli Sony, Nokia osv. Lenke til kommentar
FuLu Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 Vel, en enkel måte å gjøre det på kan være: if(eregi("sony", $_SERVER['HTTP_USER_AGENT'])) { $browser = "sony"; } if(eregi("nokia", $_SERVER['HTTP_USER_AGENT'])) { $browser = "nokia"; } Nå er dette sikkert ikke heller beste måte, men da er man sikker på at useragent inneholder sony eller nokia. Lenke til kommentar
???????? Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 Bruk metoden til FuLu - ['HTTP_USER_AGENT'] vil kanskje endres på nye mobiler eller med ny firmware. På den måten sjekker du bare om f.eks. 'sony' finnes noen steder i stringen, mot den andre metoden der den må stå på samme sted for å bli oppdaget! Lenke til kommentar
Torbjørn Skrevet 7. januar 2004 Del Skrevet 7. januar 2004 kanskje litt flisespikkeri, men hvis man kan unngå regex, så skal man det. bruke stristr hvis mulig. if(stristr($_SERVER["HTTP_USER_AGENT"],"sony")){ //rejoice! } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå