HTTP_USER_AGENT ie vista (résolu)

HTTP_USER_AGENT ie vista (résolu) - PHP - Programmation

Marsh Posté le 15-01-2009 à 06:24:32    

Bonjour,  
 
J'ai un petit soucis qui me fait sourire mais me pose aussi problème.  
 
Lorsque j'utilise la variable HTTP_USER_AGENT et aprés traitement je récupère mozilla pour mozilla, opera pour opera et mozilla pour IE.  
D'ou mon problème IE est le seul navigateur qui ne gère pas mon code comme je le veux et il ne me donne pas son identité.  
 
Si quelqu'un a déja eu le soucis.
Merci.
+


Message édité par yolas22 le 15-01-2009 à 14:26:08
Reply

Marsh Posté le 15-01-2009 à 06:24:32   

Reply

Marsh Posté le 15-01-2009 à 09:12:37    

C'est pour faire quoi exactement cette détection de navigateur ? Parce que de manière générale, c'est une assez mauvaise idée

Reply

Marsh Posté le 15-01-2009 à 13:24:30    

Pour je ne sais quelle raison IE ne me gère pas l'indication de taille en pourcentage dans les div de la même manière que les autres navigateur.
 
Je voulais juste adapter ça en fonction du navigateur varTpour100 = X pour IE Y pour les autres navigateur.
 
+
 

Reply

Marsh Posté le 15-01-2009 à 13:34:12    

Ca serait pas un pb de "modèle boîte" avec IE6 ou inférieur? Pour le résoudre, si je me souviens bien faut mettre un doctype xhtml1 strict en début de page html...
 
Et puis c'est bizarre, j'ai déjà utilisé le user agent en php, pas eu ce pb. Tiens, voilà un ex de code pour détecter le navigateur.

Code :
  1. function getBrowserName()
  2. {
  3.     // We get the OS name
  4.     // ex of User-Agent : Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0
  5.     $iPosStart = strpos($_SERVER["HTTP_USER_AGENT"], '(');
  6.     $iPosEnd = strpos($_SERVER["HTTP_USER_AGENT"], ';');
  7.     $sOSname = '';
  8.     if (($iPosStart !== FALSE) && ($iPosEnd !== FALSE))
  9.     {
  10.         // We extract the OS name
  11.         $sOSname = strtoupper(substr($_SERVER["HTTP_USER_AGENT"], $iPosStart + 1, $iPosEnd - $iPosStart - 1));
  12.     }
  13.  
  14.     if (eregi('msie', $_SERVER["HTTP_USER_AGENT"]) && !eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  15.     {
  16.         // Internet Explorer
  17.         return "IE";
  18.     }
  19.     elseif (eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  20.     {
  21.         // Opera
  22.         return "OPERA";
  23.     }
  24.     elseif (eregi('Mozilla/4.', $_SERVER["HTTP_USER_AGENT"]))
  25.     {
  26.         // Netscape 4.x
  27.         return "NS4-$sOSname";
  28.     }
  29.     elseif (eregi('Mozilla/5.0', $_SERVER["HTTP_USER_AGENT"]) && !eregi('Konqueror', $_SERVER["HTTP_USER_AGENT"]))
  30.     {
  31.         // Netscape 6
  32.         return "NS6-$sOSname";
  33.     }
  34.     else
  35.     {
  36.         // Autres navigateurs
  37.         return "-$sOSname";
  38.     }
  39. }


Message édité par rufo le 15-01-2009 à 13:36:19

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-01-2009 à 13:41:20    

C'est parce que tu traite mal le contenu de HTTP_USER_AGENT :
Sous FF
["HTTP_USER_AGENT"]=>  string(87) "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"  
 
Sous IE
["HTTP_USER_AGENT"]=> string(55) "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1

Reply

Marsh Posté le 15-01-2009 à 13:51:05    

Ok je viens de verifier, merci macgawel, mais je trouve tout de même étrange de spécifier en premier mozilla sous IE.
Je ferai avec.  
 
Sinon rufo je suis sous IE7, merci pour l'info en ce qui concerne les versions antérieurs de IE.
 
+

Reply

Marsh Posté le 15-01-2009 à 14:05:30    

N'oublie pas ouais le modèle de boîte différent suivant si t'es en mode standard ou quirks. Attention au DOCTYPE de ton document (x)HTML.
 
Ensuite pour cibler IE dans un style (pour corriger des dimensions par exemple), le mieux est d'utiliser des commentaires conditionnels, seul moyen à 100% fiable

Reply

Marsh Posté le 15-01-2009 à 14:18:13    

Merci des infos je retiens ça pour une v2 de mon site. Le contenu m'importe plus que le contenant pour le moment.
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed