Redirection PHP pour différents navigateurs
Résolu
elpah
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
mjmdurand Messages postés 246 Date d'inscription Statut Membre Dernière intervention -
mjmdurand Messages postés 246 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dernièrement, j’utilisé un code PHP me permettent de définir mes feuilles CSS en fonction des différents navigateurs …
<?php
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
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\" />";
} else if (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"])) {
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\" />";
} else if (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
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\" />";
} else {
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\" />";
}
?>
Mais pour un meilleur intégration de mon code en fonction des navigateurs j’ai décidé faire une redirection de pages automatique en fonction du navigateur utilisé en partent d’une base de code du styles
<?php
/* Redirige vers une page ie 6 */
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'indexie.php';
header("Location: http://$host$uri/$extra");
exit;
?>
Mon problème est le suivent comment adapté ce code PHP pour qu’il redirige l’internaute en fonction de son navigateur ?
Comment faire pour que si je surf avec IE je sois rédigé vers la page me consternent et a l’inverse si je surf avec Firefox resté sur cette page si ces une page prévu pour se navigateur … dernier petit problème comment redirigé que les navigateur inférieur a IE 7.
En vous remerciant d’avance pour toute réponse que vous pourriez m’apporter.
Dernièrement, j’utilisé un code PHP me permettent de définir mes feuilles CSS en fonction des différents navigateurs …
<?php
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
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\" />";
} else if (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"])) {
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\" />";
} else if (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
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\" />";
} else {
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\" />";
}
?>
Mais pour un meilleur intégration de mon code en fonction des navigateurs j’ai décidé faire une redirection de pages automatique en fonction du navigateur utilisé en partent d’une base de code du styles
<?php
/* Redirige vers une page ie 6 */
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'indexie.php';
header("Location: http://$host$uri/$extra");
exit;
?>
Mon problème est le suivent comment adapté ce code PHP pour qu’il redirige l’internaute en fonction de son navigateur ?
Comment faire pour que si je surf avec IE je sois rédigé vers la page me consternent et a l’inverse si je surf avec Firefox resté sur cette page si ces une page prévu pour se navigateur … dernier petit problème comment redirigé que les navigateur inférieur a IE 7.
En vous remerciant d’avance pour toute réponse que vous pourriez m’apporter.
A voir également:
- Redirection PHP pour différents navigateurs
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Avertissement de redirection - Forum Virus
- Ce fichier contient l'historique des livres empruntés à la bibliothèque. combien de titres différents contient-il ? ✓ - Forum Excel
- Navigateur safari pour windows - Télécharger - Navigateurs
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 !
//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.
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;
}
}
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
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
des questions ?
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.
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.
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"';