Reconnaître si un Utilisateur est sur Ipad/Iphone

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2011, 10:08

Bonjour,
Mon site ne fonctionne pas correctement sur les Iphone/IPad.
Je désire afficher un message du type "ce site ne fonctionne pas correctement avec votre navigateur..."
Pour cela j'ai besoin de reconnaître le navigateur de l'utilisateur.
Comment est-ce que je dois m'y prendre?

Merci d'avance ;)

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 10:31

Bonjour,

Fais une page :
<?php
phpinfo();
?>
Tu devrais pouvoir reconnaitre la chaine de caractère qui identifie ton navigateur et trouver ainsi la variable correspondante. A toi de traiter le contenu de la chaine pour reconnaitre iphone et ipad.

Edit : Castor Gaspard t'as donné la variable : $_SERVER['HTTP_USER_AGENT'] cependant phpinfo() est un excellent moyen de la retrouver.

Pour iphone : Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
Pour ipad : Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
Modifié en dernier par Mazarini le 27 avr. 2011, 11:06, modifié 1 fois.

Eléphant du PHP | 256 Messages

27 avr. 2011, 10:50

Bonjour,

Sinon, plus subtil, tu peux utiliser les Media Queries (http://www.w3.org/TR/css3-mediaqueries), soit pour concevoir un Design ad hoc soit pour afficher un message spécifique.

En Php, tu peux aussi utiliser...
$ua = strtolower($_SERVER['HTTP_USER_AGENT']); 
if ((preg_match("(msie 7|msie 8|msie 9|firefox/3|firefox/4|chrome|safari/31|safari/4|safari/5|safari/6)", $ua)))
{
pour cibler Intenet Explorer 7, 8, 9, Firefox, Safari (mais ne filtre peut-être pas iPad et iPhone)... (La subtilité de mon code "maison" est de prévoir les futures versions de quelques butineurs. :mrgreen: )

Cordialement,

Gaspard