Ecrire un texte en fonction du navigateur

Signaler
Messages postés
6
Date d'inscription
lundi 26 janvier 2004
Statut
Membre
Dernière intervention
28 décembre 2005
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour,
Je voudrais écrire un texte, en fonction du navigateur.

Voici ce que j'ai écrit :
if "$_SERVER['HTTP_USER_AGENT'] = MSIE"; {
echo "navigateur est IE";
}
else {
echo "Unkown";
{

Ca ne marche pas. :( Auriez vous une idée ?

Merci d'avance.

16 réponses

Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesuð



Problème de quote ... Relisez vous bien ( la condition ) ...

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðsson aka Sjón
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

le problème ne vient pas uniquement des quotes : aucun navigateur ne signe MSIE, car il y a toujours la version avec...



donc, utilise strpos par exemple :



if (strpos('MSIE', $_SERVER['...']))

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

ET il y a aussi un problème de comparaison...on ne compara pas avec un simple =. Ca, c'est une assignation.
Messages postés
15087
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 juillet 2021
97
Voici un exemple avec les navigateurs les plus connus:

echo "Votre navigateur a pour "signature":
".

$_SERVER["HTTP_USER_AGENT"]."
".
"J'en déduis donc que vous
utilisez ";
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
echo
"Internet explorer
";
} else if (ereg("^Mozilla/",
$_SERVER["HTTP_USER_AGENT"])) {
echo "Netscape navigator
";
}
else if (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
echo
"Opéra
";
} else {
echo "un navigateur qui m'est
inconnu
";
}

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

buno, ta méthode est quand à elle complètement immonde :
tu utilises des expressions régulières perl pour faire ça ??? mais
c'est du gachi !!! un strpos suffit !!!

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
15087
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 juillet 2021
97
Après reflexion, j'admets que ma proposition n'est pas judicieuse....

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
103
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
3 septembre 2008

Merci pour vos réponses si rapides !

Voici ce que j'ai écrit, mais ça ne marche pas :(

<?php
if (strpos('MSIE', $_SERVER['HTTP_USER_AGENT'])){
echo "IE";
}
?>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

http://fr2.php.net/manual/fr/function.strpos.php





<?php

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')){

echo "IE";

}

?>




In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
103
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
3 septembre 2008

Nickel Merci !
(j'suis désolé, mais j'ai deux comptes sur le site, et à chaque fois je me trompe de login :( )
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

oulala honte à moi :





<?php

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE'))

echo 'IE';

?>




In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')){
echo "IE";
}
?>
Parce que c'est pas moche ca ?

Via la doc :
strpos() retourne la position numérique de la première
occurrence de <var>needle</var> dans la chaîne de caractères
<var>haystack
</var>
Si <var>needle</var> n'est pas trouvée, la fonction retourne <tt>FALSE</tt>.

Jamais vu qu'elle retournait TRUE moi :)
De plus, si strpos renvoit 0 caractères, ca ne veut pas dire que la fonction retourne FALSE. En effet, strpos retourne la position de la chaine recherchée dans celle qu'on recherche. Donc par exemple :

'Salut moi c\'est Truc'; // Chaine de départ
'Salut' // Chaine de recherche

Si tu fais un strpos() dessus, la fonction renvoit 0, et non FALSE.

Donc faire attention.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Lol,

Coucou pris à son propre jeu de la critique du manque de rigueur question typage... ;-)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

Bon, c'est vrai que dans l'absolu, les conversion de
types... et vu ta chaine..; mais tout les noms de navigateurs
commencent (ou prèsque) par mozilla...



<?php

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')!==false)

echo 'IE';

?>



voila, c'est mieux


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Bah, à moi aussi il m'arrive de coder à la va-vite... simplement parce qu'on oublie ou alors par manque de temps :)

Rien de grave la dessus, y'a pire chez certains ;) ;)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

malam, j'ai jamais prétendu que mes sources php étaient aussi rigoureusement codés que les sources C++ de Kirua ou de Brunews...


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
C'était une vanne, Coucou...
Et tes sources sont toujours très jolies :-)