PHP - Récupération Browser visiteur

Fermé
kinux - Modifié par kinux le 8/07/2010 à 16:58
 Paul - 8 juil. 2010 à 21:14
Hello,

Pourriez-vous éclairer ma lanterne. J'ai passé une salle nuit et je capte pas ce qui joue pas avec ce bout de code ?

<?php 

if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') ) 
  { 

    switch(strpos($_SERVER['HTTP_USER_AGENT']) 
        { 
        case "Netscape": 
          $browser = "Netscape"; 
        case "Firefox": 
          $browser = "Mozilla Firefox"; 
        case "Chrome": 
          $browser = "Google Chrome"; 
        } 
  } 
else 
  { 
    $browser = "Mozilla"; 
  } 

if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ) 
  { 

    switch(strpos($_SERVER['HTTP_USER_AGENT']) 
        { 
        case "Opera": 
          $browser = "Opera"; 
        case "MSIE 3.0": 
          $browser = "Internet Explorer 3.0"; 
        case "MSIE 4.0": 
          $browser = "Internet Explorer 4.0"; 
        case "MSIE 5.0": 
          $browser = "Internet Explorer 5.0"; 
        case "MSIE 6.0": 
          $browser = "Internet Explorer 6.0"; 
        case "MSIE 7.0": 
          $browser = "Internet Explorer 7.0"; 
        case "MSIE 8.0": 
          $browser = "Internet Explorer 8.0"; 
        case "MSIE 9.0": 
          $browser = "Internet Explorer 9.0"; 
        defaut: 
          $browser = "Internet Explorer (version inconnue)"; 
        } 
  } 
else 
  { 
    $browser = "Navigateur inconnu"; 
  } 

echo $browser; 

?> 


Merci d'avance !

P.-s : Censé afficher le navigateur du visiteur.
A voir également:

1 réponse

C'est parce que tu recherche les mauvaises string. Utilise plutot quelquechose du genre:

<?php
$useragent = $_SERVER[`HTTP_USER_AGENT']);

if (preg_match(`|MSIE ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = `IE';
} elseif (preg_match( `|Opera ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = `Opera';
} elseif(preg_match(`|Firefox/([0-9\.]+)|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = `Firefox';
} elseif(preg_match(`|Safari/([0-9\.]+)|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = `Safari';
} else {
// browser not recognized!
$browser_version = 0;
$browser= `other';
}

print "browser: $browser $browser_version";
?>
0