Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/11/2007, 13h07   #1
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 943
Points : 4 943
Par défaut [PHP-JS] $HTTP_USER_AGENT avec ou sans $_SERVER

Bonjour

J'avais une fonction qui me retournait le nom du navigateur :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (eregi('msie', $HTTP_USER_AGENT) && !eregi('opera', $HTTP_USER_AGENT))
{
// Internet Explorer
$navigateur="MSIE";
}
elseif (eregi('opera', $HTTP_USER_AGENT))
{
// Opera
$navigateur="Opera";
}
elseif (eregi('Konqueror', $HTTP_USER_AGENT))
{
 $navigateur="Konqueror";
}
Elseif (eregi('Mozilla/4.', $HTTP_USER_AGENT))
{
// Netscape 4.x
$navigateur="Netscape 4.x";
}
elseif (eregi('Mozilla/5.0', $HTTP_USER_AGENT))
{
// Netscape 6
$navigateur="Netscape 6.x";
}
else
{
// Autres navigateurs
$navigateur="Navigateur inconnu";
}
Elle ne marche plus !
Je dois remplacer $HTTP_USER_AGENT par $_SERVER["HTTP_USER_AGENT"]. Depuis quand y-a t'il ce problème ?
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 13h40   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
La syntaxe $HTTP_USER_AGENT n'est valable uniquement si register_globals est à On (cf phpinfo).

Il est vivement conseillé d'utiliser la forme $_SERVER['HTTP_USER_AGENT'], la seule qui passera le cap lors de PHP 6 (les directives register_globals et register_long_arrays - spécifique à PHP 5 - n'existant plus).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 13h50   #3
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 943
Points : 4 943
OK !
Ça date de php4 ou php3...
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 13h32   #4
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Juste pour info, cette variable est envoyée par le navigateur et peut donc être "préchoisie" par l'utilisateur. Ainsi, il peut dire qu'il utilise IE alors qu'il est sous Firefox par exemple. La solution que je suggère est d'utiliser un script Javascript et d'envoyer cette info au serveur pour éventuellement la comparer :
http://www.developpez.net/forums/d16306/webmasters-developpement-web/javascript/javascript-librairie-compatibilite/
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 16h45   #5
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 943
Points : 4 943
Ton idée est très bonne pour ceux qui veulent prendre en compte beaucoup de navigateurs différents. Je pense que je vais garder le lien.
Pour ma part, je me contente de faire du compatible Firefox. Parfois, je prends en compte MSIE pour que les utilisateurs de cet engin puissent profiter de mes pages. Mais, j'avoue que la mise en page, ce n'est que pour firefox.
Le code que j'ai présenté ici est vieux et il est pour une page avec laquelle j'ai fait des tests pour la rendre compatible MSIE alors qu'elle était déjà compatible CSS et XHTML
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 21h27   #6
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Effectivement, mais on est hélas obligé de prendre en compte ce satané navigateur (que de travail suplémentaire, sans déconner...). Je sais que pour moi il est très important que je sache vraiment quel navigateur on utilise; Je prend par exemple mon projet actuel dans lequel il ya des coins arrondis réalisés avec des images PNG et sans code Javascript. J'utilise 2 méthodes complètement différentes selon si il s'agit de IE ou non...

Ma directive est de réaliser une page web sans utiliser (au départ) Javascript mais en me débrouillant le plus possible avec le HTML, CSS et surtout PHP... puis du Javascript et Flash, mais seulement pour "dynamiser" la page. Ainsi, ceux qui désactive JS / Flash pourront tout de même naviguer. En dernier recours, lorsque JS est indispensable à la navigation, j'ajoute une alerte avec les balises <noscript>. Et pour finir, je vérifie la validité W3C et je teste la page avec tous les navigateurs (les plus courant).

[EDIT] A propos, il existe une solution HTML pour détecter le navigateur, c'est intérressant je trouve. Par exemple :
Code html :
1
2
3
4
<link href="main-style.css" rel="stylesheet" type="text/css">
<!--[if IE]>
<link href="ie-style.css" rel="stylesheet" type="text/css">
<![endif]-->
Avec tout ça, si vous confondez encore le navigateur du client, c'est qu'il aura vraiment cherché.

Bonne prog! à+
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 21h41   #7
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 943
Points : 4 943
C'est dans quelle norme ?
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 21h47   #8
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
http://www.blog-and-blues.org/articl...our_IE_Windows
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 21h51   #9
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 943
Points : 4 943
OK !
Ça shunte les normes html en rajoutant des tests dans les commentaires...
Code :
1
2
3
<!--[if !IE]> <-->
   Je te conseille de changer de navigateur !
<!--> <![endif]-->
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 21h55   #10
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Comme il est dit dans l'article, à utiliser avec modération et surtout avec précaution puisque les autres navigateurs ne le gèrent pas. Par contre, cela peut être nécessaire dans certains projets; Je me souviens d'en avoir eu besoin lors d'un développement de menu déroulant...
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 22h14   #11
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 943
Points : 4 943
J'ai du aussi m'en servir pour la gestion de menu déroulant moi aussi
http://geii.univ-lyon1.fr
http://troumad.org/bible/religion.php (là, c'est en php, je pourrais générer le code en fonction du navigateur : le nombre de sous menu est infini ).
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h35.


 
 
 
 
Partenaires

Hébergement Web