Redirection suivant le type de navigateur

Soyez le premier à donner votre avis sur cette source.

Vue 6 070 fois - Téléchargée 336 fois

Description

Ce script vous permettra de rediriger vos visiteurs (en ouvrant une URL spécifique) en fonction du type de navigateur qu'il utilise.
Il s'agit de mon premier scipt.
J'espère qu'il vous aidera. L'entraide est notre force à tous.

Source / Exemple :


<?php
$user_agent = getenv("HTTP_USER_AGENT");

if ((strpos($user_agent, "Nav") !== FALSE) || (strpos($user_agent, "Gold") !== FALSE) ||
(strpos($user_agent, "X11") !== FALSE) || (strpos($user_agent, "Mozilla") !== FALSE) ||
(strpos($user_agent, "Netscape") !== FALSE)
AND (!strpos($user_agent, "MSIE") !== FALSE) 
AND (!strpos($user_agent, "Konqueror") !== FALSE)
AND (!strpos($user_agent, "Firefox") !== FALSE)
AND (!strpos($user_agent, "Safari") !== FALSE))
        {$browser = "Netscape";}
elseif (strpos($user_agent, "Opera") !== FALSE)
        {$browser = "Opera";}
elseif (strpos($user_agent, "MSIE") !== FALSE)
        {$browser = "MSIE";}
elseif (strpos($user_agent, "Lynx") !== FALSE)
        {$browser = "Lynx";}
elseif (strpos($user_agent, "WebTV") !== FALSE)
        {$browser = "WebTV";}
elseif (strpos($user_agent, "Konqueror") !== FALSE)
       { $browser = "Konqueror";}
elseif (strpos($user_agent, "Safari") !== FALSE)
       { $browser = "Safari";}
elseif (strpos($user_agent, "Firefox") !== FALSE)
        {$browser = "Firefox";}
elseif ((stripos($user_agent, "bot") !== FALSE) || (strpos($user_agent, "Google") !== FALSE) ||
(strpos($user_agent, "Slurp") !== FALSE) || (strpos($user_agent, "Scooter") !== FALSE) ||
(stripos($user_agent, "Spider") !== FALSE) || (stripos($user_agent, "Infoseek") !== FALSE))
        {$browser = "Bot";}
else {
       $browser = "Autre";}

switch ($browser) 

{

case MSIE: // dans le cas où c'est Internet Explorer
//echo "Type internet explorer";
header ("location:http://votre_url_si_internet_explorer");
break;

case Safari: // dans le cas où c'est Safari
//echo "Type Safari";
header ("location:http://votre_url_si_Safari");
break;

case Opera: // dans le cas où c'est Opera
//echo "Type Opera";
header ("location:http://votre_url_si_Opera");
break;

case Firefox: // dans le cas où c'est Firefox
//echo "Type Firefox";
header ("location:http://www.http://votre_url_si_Firefox");
break;

default:
//echo "Rien detecte";
header ("location:http://http://votre_url_si_autre_navigateur");

}

?>

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
95
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2010

Salut, ouais enfin 10 c'est qd même ....
Pourquoi faire une redirection ? Pour avoir le nom du nav dans l'url ?
En fonction du nav tu charge une css ou des templates HTML spécifiques.
Sinon comme l'a dit spoonisback un seul test aurait suffit.
Messages postés
10
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
30 octobre 2016

pour un premier essai c'est plutôt cool
Félicitation
Messages postés
1
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
13 août 2009

Bonjour. J'aimerais que si, le naviguateur est IE, cela fasse un changement sur la page. Est-ce possible ?
Messages postés
72
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
5 février 2010

Tu as oublier les cotes (') dans ton switch case :
"case Safari:" deviens "case 'Safari':"

Tu aurais pu virer tes "echo" de test, ça aurai fais plus propre...

Bonne continuation....
Messages postés
72
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
5 février 2010

Salut,

Pourquoi passer par deux étapes (et créer la var $browser) alors que tu pourrais résumé cela en une seule ?

cad : Mettre tes redirection direct après tes tests (if/elseif)

Bon j'ai pas regarder dans le détail ton code mais bon...c'est ce qui m'a frapper le premier !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.