Gå til innhold

browservalg etter script [løst]


Anbefalte innlegg

heisann!

Sitter og forsker litt på et php-script jeg prøver å lage.

Jeg er ganske fersking på php-koding og skjønner ikke helt hvordan jeg skal få til følgende:

 

 

Jeg skal sette inn en kode i index.php som sjekker hvilken browser brukeren bruker.

 

Hvis da browseren er av typen LYNX så skal en innholdet i index.php inkluderes slik at det er nogen lunde lesbart for denne tekstbaserte browseren.

 

Hvis brukeren ikke bruker LYNX så skal en annen fil inkluderer inn i index.php.

 

Når jeg jeg brukte

<?php
echo $_SERVER['HTTP_USER_AGENT']; 
?>

Fant jeg hvilken type browser jeg brukte

 

IE gav:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 

 

Firefox gav:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040206 Firefox/0.8

 

LYNX gav:

Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.12

 

Men jeg er ikke sikker på hvordan jeg skal tolke dette. Det jeg har prøvd er følgende:

<?php
$browser = $_SERVER['HTTP_USER_AGENT'];
if $browser = "Lynx/2.8.5rel.1" 
{
include("lynx-format.php");
}
else
{
include("standard.php");
}
?>

 

men jeg får error i fleng :p

 

Får error ved linjen ---> if $browser = "Lynx/2.8.5rel.1"

 

Det er noe med hvordan jeg skriver hva $browser er lik.. Jeg er da ikke sikker på hva jeg skal skrive der for å få dette lille scriptet til å funke (hvis det i det hele tatt vil fungere)

 

Er det noen kloke hoder her som kunne belyst meg litt?..

 

mvh

 

 

slakkis

Endret av slakkis
Lenke til kommentar
Videoannonse
Annonse

hmm nei får det enda ikke til å fungere

 

Har ordnet litt på koden:

<?php
$browser = $_SERVER['HTTP_USER_AGENT'];
$lynx = Lynx;
if ($browser == $lynx);
{
 include("lynx-format.php");
}
else
{
 include("standard.php");
}
?>

 

den klager også på "else" nå.. den gir meg :

Parse error: parse error, unexpected T_ELSE in C:\FoxServ\www\browser.php on line 25

 

 

Jeg er også usikker på hva jeg skal definere $lynx som siden ikke vet hva jeg skal skrive der for at browseren lynx skal gjenkjennes som lynx..

 

Skal jeg da skrive hele remsa slik som det her?

$lynx="Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.12"

Lenke til kommentar

hmm.. det virker ikke slik..

 

Hvis jeg setter opp slik:

<?php
$browser = $_SERVER['HTTP_USER_AGENT'];
$lynx="Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.12";
if ($browser === $lynx);
{
 include("lynx-format.php");
}
?>

 

Så kommer innholdet i lynx-format.php i alle browserne jeg prøver, ikke bare lynx-browseren..

 

jeg har prøvd både:

if ($browser === $lynx);

if ($browser == $lynx);

if ($browser = $lynx);

:p

 

rare greier..

Lenke til kommentar

en if sammenligning ser slik ut

if(noe){

 

}

 

ikke noe ; etter if(noe)

 

Videre er det håpløst å sjekke det med if, da if sammenligner to strenger - og HTTP_USER_AGENT inneholder versjoner ol.

 

Bruk eregi()

 

<?php

$browser = $_SERVER['HTTP_USER_AGENT'];

if (eregi("lynx", $browser))

{

include("lynx-format.php");

}

?>

Lenke til kommentar

Tusen hjertelig!

Det funket!

 

Men hvordan forslaget ditt fungerer.

Forstår jeg det riktig om at den sjekker om "lynx" står noen plass i

$browser?

 

i så fall så er det jo genialt for da slipper man som du sier trøbbel med forskjellige versjoner av browsere etc..

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...