Condition de navigateur - PHP - Programmation
Marsh Posté le 12-05-2010 à 09:59:06
C'est a priori une mauvaise idée avec aucun moyen parfaitement fiable de la mettre en place. Quel est l'objectif, derrière?
Marsh Posté le 12-05-2010 à 10:05:18
Ne pas afficher un script qui rame avec Firefox mais fonctionne bien avec les autres navigateurs
Donc aucun risque à avoir quelques ratés ^^
Merci par avance de votre aide.
Marsh Posté le 12-05-2010 à 10:19:35
Utiliser la fonction get_browser().
Cf. http://www.php.net/manual/en/function.get-browser.php .
Marsh Posté le 12-05-2010 à 10:38:15
Merci beaucoup.
Cependant j'obtiens l'erreur :
Warning: get_browser() [function.get-browser]: browscap ini directive not set in /home/website/web/www/test.php on line 4
Merci par avance
Marsh Posté le 12-05-2010 à 10:39:57
ingeniomatique a écrit : Merci beaucoup. |
Lire la doc, ça aide.
Citation : Note: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system. |
Marsh Posté le 12-05-2010 à 10:43:31
C'est un peu du chinois le php_browscap.ini pour moi...
Je vais donc aller voir auprès de mon hébergeur pour qu'il m'explique / m'aide
Merci de votre solution
Marsh Posté le 12-05-2010 à 11:23:04
Peut-être que $_SERVER['HTTP_USER_AGENT'] serait suffisant.
Marsh Posté le 12-05-2010 à 11:24:13
Merci pour ce retour que je viens de tester ($_SERVER['HTTP_USER_AGENT'])
Cependant :
- Sur Chrome ça m'affiche : Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1064 Safari/532.5
- Sur IE ça m'affiche : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)
- Sur Firefox ça m'affiche : Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Étonnant qu'on voit toujours apparaître Mozzila !
Comment, du coup, préparer une requête qui est conditionnée au fait que le navigateur soit bien Firefox ?
Merci par avance,
Antoine
Marsh Posté le 12-05-2010 à 11:26:28
Je répète : ce n'est pas fiable, le navigateur répond ce qu'il veut. Opera peut répondre IE si ça lui chante. Ce n'est pas une bonne idée.
Marsh Posté le 12-05-2010 à 11:28:04
Mon objectif n'étant pas une fiabilité à 100 %, j'aimerais savoir comment aller jusqu'au bout sur $_SERVER['HTTP_USER_AGENT']...
Merci beaucoup
Marsh Posté le 12-05-2010 à 11:33:07
ingeniomatique a écrit : Mon objectif n'étant pas une fiabilité à 100 %, j'aimerais savoir comment aller jusqu'au bout sur $_SERVER['HTTP_USER_AGENT']... |
Boule de cristal.
Au mieux tu peux rechercher gecko dans la chaine retournée...
Marsh Posté le 12-05-2010 à 11:34:37
Lol.
Dans mon exemple ci-dessus (3 chaînes retournées avec 3 navigateurs différents), concrètement ça donnerait quoi ?
Merci
Marsh Posté le 12-05-2010 à 11:37:38
ça donnerait que le seul avec "gecko" dans la chaine retournée est Firefox.
Tu peux utiliser ça pour déterminer que tu ne dois pas inclure ton script qui le fait ramer...
Marsh Posté le 12-05-2010 à 11:41:08
ReplyMarsh Posté le 12-05-2010 à 11:41:48
ingeniomatique a écrit : Ben non car apparemment sur Chrome il y a aussi Gecko |
gecko et pas webkit, alors.
Marsh Posté le 12-05-2010 à 11:43:26
Non non dans Chrome il y a bien Gecko en + de Webkit :
"AppleWebKit/532.5 (KHTML, like Gecko"
Marsh Posté le 12-05-2010 à 11:45:37
ingeniomatique a écrit : Non non dans Chrome il y a bien Gecko en + de Webkit : |
c'est bien ce que je dis.
Donc pour identifier firefox à peu près correctement tu prends la chaine qui contient chrome mais pas webkit.
Marsh Posté le 12-05-2010 à 09:31:21
Bonjour à tous,
J'aimerais indiquer une condition du type :
if (navigateur de l'utilisateur = mozzila firefox peu importe la version){
...
...
}else{ ne rien faire }
Pouvez-vous m'y aider ?
Merci beaucoup !
Antoine