Redirection PHP pour différents navigateurs
Résolu/Fermé
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
-
9 mai 2008 à 11:58
mjmdurand Messages postés 246 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 27 juillet 2013 - 18 juil. 2008 à 19:04
mjmdurand Messages postés 246 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 27 juillet 2013 - 18 juil. 2008 à 19:04
A voir également:
- Redirection PHP pour différents navigateurs
- Easy php - Télécharger - Divers Web & Internet
- Que doit-il faire pour effacer les traces de sa navigation ? - Guide
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Ce fichier contient l'historique des livres empruntés à la bibliothèque. combien de titres différents contient-il ? ✓ - Forum Excel
11 réponses
t'a 2 solutions : ou t'est pas très bon en php, alors tu fait un dossier pour Ie, un dossier pour Mozilla, un dossier pour Opera et un dossier pour les navigateurs inconnus (on ne sait jamais apres tout), puis tu fait une redirection sur les pages respectives de ces dossiers :
---------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
//si le navigateur est ie
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
header (location: indexie.php');
}
//si le navigateur est Mozilla
elseif (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"]))
{
header (location: indexfirefox.php');
}
//si le navigateur est Opera
elseif (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"]))
{
header (location: indexopera.php');
}
//si le navigateur est inconnu
else
{
header (location: index.php');
}
?>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Tu t'en doutes, ca devient vite dur a entretenir, c'est pour cela, que je te propose une autre alternative avec des variables :
<?php
//on verifie les navigateurs et on leur attribue une variable propre a chacun
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie;
}
elseif (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=mozilla;
}
elseif (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=opera;
}
else
{
$navigateur=inconnu;
}
?>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
puis, on va maintenant afiicher le texte désiré en fonction du navigateur, par exemple les liens css dans le header
<?php
//d'abord, on verifie que $navigateur existe
if (isset ($navigateur))
{
//si le navigateur est ie
if ($navigateur==ie)
{
echo
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4.css\" />";
}
//si le navigateur est Mozilla
elseif ($navigateur==mozilla)
{
echo
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/5.css\" />";
}
//si le navigateur est Opera
elseif ($navigateur==opera)
{
echo
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/5.css\" />";
}
//si le navigateur est inconnu
elseif ($navigateur==inconnu)
{
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/5.css\" />";
}
}
?>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
//maintenant, supposons que l'on veut afficher du texte a l'écran (quoi de plus normal ?) en fonction du navigateur
//d'abord, on verifie que $navigateur existe
if (isset ($navigateur))
{
if ($navigateur==ie)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
elseif ($navigateur==mozilla)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
elseif ($navigateur==opera)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
elseif ($navigateur==inconnu)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
}
?>
A savoir que le texte devra être entré après chaque "echo" (souvent, un simple copier/coller suffit. De plus, le code est souvent le même quel que doit le navigateur).
La second méthode permet en fait un affichage conditionnel de la page. Pratique a condition de bien connaitre le php.
Petites notes :
*pense a utiliser la concaténation, c'est bien plus pratique que les guillemets, crois moi ! si tu veut l'apprendre, je te conseille le site du zéro ici : https://openclassrooms.com/fr/courses#ss_part_1
*Qui a dit que le php était facile ? Bonne chance !
---------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
//si le navigateur est ie
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
header (location: indexie.php');
}
//si le navigateur est Mozilla
elseif (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"]))
{
header (location: indexfirefox.php');
}
//si le navigateur est Opera
elseif (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"]))
{
header (location: indexopera.php');
}
//si le navigateur est inconnu
else
{
header (location: index.php');
}
?>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Tu t'en doutes, ca devient vite dur a entretenir, c'est pour cela, que je te propose une autre alternative avec des variables :
<?php
//on verifie les navigateurs et on leur attribue une variable propre a chacun
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie;
}
elseif (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=mozilla;
}
elseif (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=opera;
}
else
{
$navigateur=inconnu;
}
?>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
puis, on va maintenant afiicher le texte désiré en fonction du navigateur, par exemple les liens css dans le header
<?php
//d'abord, on verifie que $navigateur existe
if (isset ($navigateur))
{
//si le navigateur est ie
if ($navigateur==ie)
{
echo
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4.css\" />";
}
//si le navigateur est Mozilla
elseif ($navigateur==mozilla)
{
echo
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/5.css\" />";
}
//si le navigateur est Opera
elseif ($navigateur==opera)
{
echo
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/5.css\" />";
}
//si le navigateur est inconnu
elseif ($navigateur==inconnu)
{
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/1v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/3v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/4v2.css\" />
<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./CSS/5.css\" />";
}
}
?>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
//maintenant, supposons que l'on veut afficher du texte a l'écran (quoi de plus normal ?) en fonction du navigateur
//d'abord, on verifie que $navigateur existe
if (isset ($navigateur))
{
if ($navigateur==ie)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
elseif ($navigateur==mozilla)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
elseif ($navigateur==opera)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
elseif ($navigateur==inconnu)
{
echo
"votre texte ici avec les balises div, p, ect...ect...ect...";
}
}
?>
A savoir que le texte devra être entré après chaque "echo" (souvent, un simple copier/coller suffit. De plus, le code est souvent le même quel que doit le navigateur).
La second méthode permet en fait un affichage conditionnel de la page. Pratique a condition de bien connaitre le php.
Petites notes :
*pense a utiliser la concaténation, c'est bien plus pratique que les guillemets, crois moi ! si tu veut l'apprendre, je te conseille le site du zéro ici : https://openclassrooms.com/fr/courses#ss_part_1
*Qui a dit que le php était facile ? Bonne chance !
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
9 juin 2008 à 14:51
9 juin 2008 à 14:51
//d'abord, on verifie le navigateur
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
//ensuite, on verifie la version
if (ereg("7", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie7;
}
if (ereg("6", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie6;
}
}
Bien entendu, il faudra adapter le code a la nouvelle variable.
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
//ensuite, on verifie la version
if (ereg("7", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie7;
}
if (ereg("6", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie6;
}
}
Bien entendu, il faudra adapter le code a la nouvelle variable.
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
12 juin 2008 à 18:35
12 juin 2008 à 18:35
Merci pour ta réponse
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
17 juin 2008 à 21:58
17 juin 2008 à 21:58
petite modif importante:
//d'abord, on verifie le navigateur
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
//ensuite, on verifie la version
if (ereg("MSIE 7", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie7;
}
if (ereg("MSIE 6", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie6;
}
}
//d'abord, on verifie le navigateur
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
{
//ensuite, on verifie la version
if (ereg("MSIE 7", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie7;
}
if (ereg("MSIE 6", $_SERVER["HTTP_USER_AGENT"]))
{
$navigateur=ie6;
}
}
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
23 juin 2008 à 13:41
23 juin 2008 à 13:41
Salut
je voudrai simplifié mon code php en utilisent <? include("./IE.php"); ?> a la place de mettre mon code html en echo mais comment l'intégrer a ton code ???
Merci pour l'aide que tu ma déjà apporté...
je voudrai simplifié mon code php en utilisent <? include("./IE.php"); ?> a la place de mettre mon code html en echo mais comment l'intégrer a ton code ???
Merci pour l'aide que tu ma déjà apporté...
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
30 juin 2008 à 10:34
30 juin 2008 à 10:34
je te redonne le code que j'avais écrit dans un post un peu plus au dessus qui devrait repondre a ta question :
//maintenant, supposons que l'on veut afficher du texte a l'écran (quoi de plus normal ?) en fonction du navigateur
//d'abord, on verifie que $navigateur existe
if (isset ($navigateur))
{
if ($navigateur==ie)
{
include ('votrefichier');
}
elseif ($navigateur==mozilla)
{
include ('votrefichier');
}
elseif ($navigateur==opera)
{
include ('votrefichier');
}
elseif ($navigateur==inconnu)
{
include ('votrefichier');
}
}
?>
//maintenant, supposons que l'on veut afficher du texte a l'écran (quoi de plus normal ?) en fonction du navigateur
//d'abord, on verifie que $navigateur existe
if (isset ($navigateur))
{
if ($navigateur==ie)
{
include ('votrefichier');
}
elseif ($navigateur==mozilla)
{
include ('votrefichier');
}
elseif ($navigateur==opera)
{
include ('votrefichier');
}
elseif ($navigateur==inconnu)
{
include ('votrefichier');
}
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
7 juin 2008 à 21:50
7 juin 2008 à 21:50
je pense aussi utiliser cette fonction ... seulement, voilà, je suis en train de l'étudier.
Dès que j'ai du nouveau, je previens
Dès que j'ai du nouveau, je previens
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
2 juin 2008 à 21:09
2 juin 2008 à 21:09
des questions ?
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
7 juin 2008 à 14:36
7 juin 2008 à 14:36
je te remercie pour ta réponse, je suis désolé de te répondre si tard (petit problème de FAI) j'ai suivi tes conseilles et tous marche parfaitement sauf qu'il pourrai être intéressent de différencié IE 7 des version inférieures... en gros je voudrai faire apparaitre un encadré (et d'autre éléments) en fonction des versions de IE et des autres navigateurs.
Merci du temps que tu as pris pour me répondre.
Merci du temps que tu as pris pour me répondre.
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
24 juin 2008 à 17:06
24 juin 2008 à 17:06
euh... ca depend de ce que tu veut inclure en fait...
si c'est un menu ou une image alors la, ca risque d'etre dur sinon si c'est pour afficher du texte, alors la ca devrait marcher.
Pour les images, il faudrait que tu crée une page par fraction de code en fait...
A toi de voir la meilleure solution.
si c'est un menu ou une image alors la, ca risque d'etre dur sinon si c'est pour afficher du texte, alors la ca devrait marcher.
Pour les images, il faudrait que tu crée une page par fraction de code en fait...
A toi de voir la meilleure solution.
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
24 juin 2008 à 20:53
24 juin 2008 à 20:53
se serai pour affichez du texte contenu dans une page php en fonction du navigateur mais j'ai du mal a voire comment le faire, comment inclure <? include("./IE.php"); ?> dans le code que tu ma fourni ??
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
8 juil. 2008 à 22:31
8 juil. 2008 à 22:31
désolé du retard sa fonction parfaitement, je te remerci.
mjmdurand
Messages postés
246
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2013
44
18 juil. 2008 à 19:04
18 juil. 2008 à 19:04
la fonction echo, je l'utilise avec la concanectation (ou quelque chose du genre) .
Le problème peut provenir du fait que dans ton echo il y ait ce genre de texte :
echo 'mon pseudo est 'mjmdurand'';
php ne comprendra pas. Pour qu'il comprenne ces instruction, il faut taper le code suivant :
echo 'mon pseudo est \'mjmdurand\'';
pour les guillemets, il n'y a rien a faire par contre :
echo 'mon pseudo est "mjmdurand"';
Le problème peut provenir du fait que dans ton echo il y ait ce genre de texte :
echo 'mon pseudo est 'mjmdurand'';
php ne comprendra pas. Pour qu'il comprenne ces instruction, il faut taper le code suivant :
echo 'mon pseudo est \'mjmdurand\'';
pour les guillemets, il n'y a rien a faire par contre :
echo 'mon pseudo est "mjmdurand"';
votre de mote passe
elpah
Messages postés
23
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
15 janvier 2009
9 mai 2008 à 15:38
9 mai 2008 à 15:38
je ne voie pas la pertinence de la reponce