Avatar billede kbryhl Nybegynder
03. januar 2011 - 13:13 Der er 11 kommentarer og
1 løsning

If ie6/ie7 echo...

Hey,

Som titlen måske fortæller skal jeg bruge et simpelt script til at undersøge om brugeren der besøger mit website kører IE6 eller 7. Jeg kan desværre ikke PHP men håber i kan hjælpe mig med noget der ligner følgende:

if IE6 echo
if IE7 echo
else
www.andenadresse.com

På forhånd tak!
Avatar billede michael_stim Ekspert
03. januar 2011 - 13:32 #1
Avatar billede kbryhl Nybegynder
03. januar 2011 - 13:40 #2
Tak, men jeg har prøvet de første 100 forskellige scripts af det der.
- Det du linker til er blot "detection af browser" og ikke det jeg beder om :)

Ellers tak.
Avatar billede olsensweb.dk Ekspert
03. januar 2011 - 13:51 #3
du skal have fat i $_SERVER['HTTP_USER_AGENT'], og decode denne
http://php.net/manual/en/reserved.variables.server.php
eller gøre som foreslået i #1 anvende JS, men ganske får personer kan finde på at slå JS fra.
der er vist noget om at robotter heller ikke læser JS


utested
<?php
$USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
// print_r($USER_AGENT);

$Browser ="unknown";
$Browser_Version ="unknown";
if (eregi('msie', $USER_AGENT)){   
    $Browser="Internet Explorer";
    if    (eregi("msie 7.0",$USER_AGENT)) {$Browser_Version = "7.0";}
    elseif (eregi("msie 6.0",$USER_AGENT)) {$Browser_Version = "6.0";}   
}
echo $Browser;
echo $Browser_Version;
?>
Avatar billede kbryhl Nybegynder
03. januar 2011 - 13:57 #4
Hej Ronois,

Så langt så godt - men den gør blot det samme som JS versionen.
Jeg prøver lige igen, at formulere mig bedre;

Jeg leder efter et PHP script, som kan være på min index side.
Den skal gøre som følgende:

Tjekke om det er IE6 - hvis ja - vise "hej"
DEREFTER
Tjekke om det er IE7 - hvis - vise "hej du"
HVIS IKKE DET ER IE6 eller IE 7
Vises: "Du kører en fantastisk browser"
Avatar billede olsensweb.dk Ekspert
03. januar 2011 - 14:16 #5
http://dk2.php.net/manual/en/function.get-browser.php læs notes
http://www.w3schools.com/php/func_misc_get_browser.asp
http://www.expertsdevelopers.com/how-to-detect-mobile-agent-in-php-_serverhttp_user_agent/

>Tjekke om det er IE6 - hvis ja - vise "hej"
>DEREFTER
>Tjekke om det er IE7 - hvis - vise "hej du"
det kan ikke værer en 6 og 7 samtidig

<?php
$USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
$Browser ="unknown";
$Browser_Version ="unknown";
if (eregi('msie', $USER_AGENT)){ 
    $Browser="Internet Explorer";
    if    (eregi("msie 7.0",$USER_AGENT)) {$Browser_Version = "7.0";}
    elseif (eregi("msie 6.0",$USER_AGENT)) {$Browser_Version = "6.0";} 
}

if($Browser == "Internet Explorer"){
    if($Browser_Version=="6.0") echo "hej";
    else{
        if($Browser_Version=="7.0") echo "hej du";
        else echo "du kører en fantastisk Microsoft Vertion";
    }   
}
else{
    echo "Du anvender IKKE en Microsoft Browser, du anvender en fantastisk browser";   
}
?>
Avatar billede mcb2001 Nybegynder
03. januar 2011 - 14:22 #6
det er jo lige præcis hvad han giver dig:

<?php
$USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
if (eregi('msie', $USER_AGENT))
{   
$Browser="Internet Explorer";
if(eregi("msie 7.0",$USER_AGENT))
{
  echo "HEJ";
}
elseif(eregi("msie 6.0",$USER_AGENT))
{
  echo "HEJ DU";
}
}
?>
Avatar billede showsource Seniormester
03. januar 2011 - 15:36 #7
Er ereg() ikke udfaset ?
Anyway vil strpos() være hurtigere.
Avatar billede olsensweb.dk Ekspert
03. januar 2011 - 16:18 #8
#7 >Er ereg() ikke udfaset ?
du har ret prøvede lige at slå det op
http://takien.com/513/how-to-fix-function-eregi-is-deprecated-in-php-5-3-0.php
det var taget fra noget gammelt code jeg havde liggende, jeg klippede fra

en hurtig googling på "php user agent strpos"
http://www.webmasterworld.com/forum88/10975.htm
en hurtig googling på "php user agent strpos internet explorer"
http://stackoverflow.com/questions/671890/can-i-detect-ie6-with-php
http://php.net/manual/en/tutorial.useful.php eks 2

en hurtig oversættelse
<?php
$USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
$Browser ="unknown";
$Browser_Version ="unknown";

$USER_AGENT = strtolower($_SERVER['HTTP_USER_AGENT']);

if(strpos($USER_AGENT ,'msie') !== FALSE) {
    $Browser="Internet Explorer";
    if    (strpos("msie 7.0",$USER_AGENT) === TRUE)    {$Browser_Version = "7.0";}
    elseif (strpos("msie 6.0",$USER_AGENT) === TRUE) {$Browser_Version = "6.0";}
}

if($Browser == "Internet Explorer"){
    if($Browser_Version=="6.0") echo "hej";
    else{
        if($Browser_Version=="7.0") echo "hej du";
        else echo "du kører en fantastisk Microsoft Vertion";
    } 
}
else{
    echo "Du anvender IKKE en Microsoft Browser, du anvender en fantastisk browser"; 
}
?>
Avatar billede coderdk Praktikant
03. januar 2011 - 16:45 #9
Hvad med HTML-versionen:

<!--[if lt IE 8]>
<p>Hej IE mindre end 8 ;)</p>
<![endif]-->
Avatar billede olsensweb.dk Ekspert
03. januar 2011 - 17:21 #10
det var jo også en mulighed at bruge "conditional comment", de foståes jo KUN af IE, og anvendes typisk ifm særlige CSS filer hvis det er IE, og de forskellige vertioner, for at tage højde for deres særheder
http://www.hjemmesideskolen.dk/html/testsider/conditionalcomment.php
Avatar billede kbryhl Nybegynder
04. januar 2011 - 16:00 #11
Det viser så bare hvor dum jeg i virkeligheden er til PHP ikk? :)
Tak for hjælpen Ronois, det var præcis det :)

Du svarer?
Avatar billede olsensweb.dk Ekspert
04. januar 2011 - 19:21 #12
>Du svarer?
det får du så her :)
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