Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECONNAISSANCE DU NAVIGATEUR


Information sur la source

Catégorie :Astuces Classé sous : reconnaissance, navigateur Niveau : Débutant Date de création : 09/02/2005 Date de mise à jour : 10/02/2005 09:35:57 Vu : 6 462

Note :
8,33 / 10 - par 6 personnes
8,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

Ce code retourne le navigateur du visiteur.
 

Source

  • <?php
  • /*
  • name: browser.php
  • comments: return the visitor's browser
  • author: psyphi
  • e-mail: psyphi1st@hotmail.com
  • last modified: 2005 February 9th
  • */
  • function return_browser()
  • {
  • $browser="Unknow";
  • /* Mozilla */
  • /* Important: Mozilla is the first test because the string "Mozilla"
  • is in all browser with Gecko engine like Firefox ... */
  • if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Mozilla"))
  • $browser="Mozilla";
  • /* Netscape */
  • if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Netscape"))
  • $browser = "Netscape";
  • /* Safari (Mac OS) */
  • else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Safari"))
  • $browser = "Safari";
  • /* FireFox */
  • else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Firefox"))
  • $browser = "Firefox";
  • /* Konqueror (Gnu/Linux KDE) */
  • else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Konqueror"))
  • $browser="Konqueror";
  • /* Epiphany (Gnu/Linux Gnome) */
  • else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Epiphany"))
  • $browser="Epiphany";
  • /* Lynx (text browser) */
  • else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Lynx"))
  • $browser="Lynx";
  • /* Internet Explorer (Win32) */
  • /* Important: Internet Explorer test must be before Opera Test because
  • string "MSIE" is also present in Opera */
  • else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "MSIE"))
  • $browser ="Internet Explorer";
  • /* Opera */
  • if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Opera"))
  • $browser="Opera";
  • return $browser;
  • }
  • ?>
<?php
/*
	name: browser.php
	comments: return the visitor's browser
	author: psyphi
	e-mail: psyphi1st@hotmail.com
	last modified: 2005 February 9th
*/

function return_browser()
{
	$browser="Unknow";

/* Mozilla */
/* Important: Mozilla is the first test because the string "Mozilla"
 is in all browser with Gecko engine like Firefox ... */
	if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Mozilla"))
		$browser="Mozilla";

/* Netscape */
	if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Netscape"))
	     $browser = "Netscape";

/* Safari (Mac OS) */
	else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Safari"))
	    $browser = "Safari";
   
/* FireFox */   
	else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Firefox"))
	     $browser = "Firefox";

/* Konqueror (Gnu/Linux KDE) */
	else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Konqueror"))
		$browser="Konqueror";

/* Epiphany (Gnu/Linux Gnome) */
	else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Epiphany"))
		$browser="Epiphany";

/* Lynx (text browser) */
	else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Lynx"))
		$browser="Lynx";

/* Internet Explorer (Win32) */   
/* Important: Internet Explorer test must be before Opera Test because
string "MSIE" is also present in Opera */     
	else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "MSIE"))
		$browser ="Internet Explorer";
     
/* Opera */   
	if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Opera"))
		$browser="Opera";

	return $browser;
}
?>

Conclusion

Cette fonction me permet entre autre de proposer aux visiteurs de mon site qui le visite avec Internet Explorer de télécharger un navigateur libre: firefox.
Effectivement mon site est programmé aux normes xhtml du wordl wide web consortium qu'internet explorer ne reconnait pas bien contrairement à Firefox, Mozilla ou d'autres navigateurs.
 

Historique

10 février 2005 09:35:57 :
Source mise à jour en utilisant des variables superglobales. La source est maintenant sous forme d'une fonction et est optimisé pour s'exécutée plus rapidement.

Commentaires et avis

signaler à un administrateur
Commentaire de Kevin007 le 09/02/2005 16:45:38

Salut,
Je n'ai pas essayé, mais ça à l'air bien à part :
$HTTP_USER_AGENT à remplacer par $_SERVER[ 'HTTP_USER_AGENT' ] ;)

signaler à un administrateur
Commentaire de coucou747 le 09/02/2005 16:57:04

Pourquoi ne pas faire un tableau ?
et pourquoi ne pas faire une fonction avec un return ?
ça permetrais à ton programme de ne pas aller plus loin...

signaler à un administrateur
Commentaire de Kevin007 le 09/02/2005 17:52:42

Ou même des elseif ;)

signaler à un administrateur
Commentaire de psyphi le 09/02/2005 18:08:02

Ba heu je commence a peine en php même si ca ressemble a mon langage de prédilection le C.
Pourquoi est ce mieu avec $_SERVER[ 'HTTP_USER_AGENT' ] ?( Je connaissais pas)
Je ne vois pas ce que changerait des else if?
Je vais essayer de faire une fonction.
J'ai testé tout les navigateurs cité sous Linux  et IE sur le PC de ma copine, sauf Safari ce soir chez un pot qui a un Mac et Netscape que j'avais pas envie d'installer. => Si qqun peut me dire si ca marche avec Netscape?

signaler à un administrateur
Commentaire de Kevin007 le 09/02/2005 18:34:41

A propos de $HTTP_USER_AGENT, tu dois utiliser $_SERVER[ 'HTTP_USER_AGENT' ] car $HTTP_USER_AGENT est obsolète depuis les superglobales.
Pour les elseif, une fois que la condition a été trouvé : on ne cherche plus.
Ex : nous sommes Jeudi

if ( $date == 'Mercredi' )
echo 'Mercredi';

elseif ( $date == 'Jeudi' )
echo 'Jeudi';

/* On arrête là car $date == 'Jeudi' */

elseif ( $date == 'Vendredi' )
echo 'Vendredi';

signaler à un administrateur
Commentaire de coucou747 le 09/02/2005 18:42:45

else if....

ça existe aussi en C / C++....

ici ça va diviser par 4 le nombre de calculs...

signaler à un administrateur
Commentaire de psyphi le 10/02/2005 09:09:16

Vous pouvez m'en dire un peu plus sur les variables superglobales, ca sert à quoi et ca apporte quoi de plus?
Sinon vous inquietez pas je connais else if, et comment ca marche et il est vrai que votre remarque la dessus est judicieuse j'avais commencé à en mettre et par feignantise je m'etais dit que toute facon ca changerait pas grand chose et que j'en avais pas besoin. Mais bon comme ca optimise mon script, je m'en vais les rajouter, vous me fesez prendre bonne conscience :-D

signaler à un administrateur
Commentaire de psyphi le 10/02/2005 09:37:24

Voila j'ai mis ma source à jour est ce qu'elle vous convient mieux?

signaler à un administrateur
Commentaire de Kevin007 le 10/02/2005 10:24:36

Ta source est correcte maintenant ;)
http://fr3.php.net/variables.predefined
Si tu veux en savoir plus ;

Si tu as des questions, tu peux me contacter par MSN car sur ce textearea les tabulations sont difficiles :D

KevinChalet[at]hotmail[dot]com

signaler à un administrateur
Commentaire de grandvizir le 10/02/2005 15:27:11

http://www.phpcs.com/code.aspx?ID=27063

signaler à un administrateur
Commentaire de malalam le 11/02/2005 13:09:55 administrateur CS

Hello,

tu sais qu'il y a plus simple, pour peu qu'on ait un browscap.ini a jour ?

<?php
$browser = get_browser(null, true);
echo $browser['browser'];
?>

Voici le lien pour la doc :
http://de.php.net/manual/en/function.get-browser.php

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Bouton Actualiser de navigateur crée des doublons dans ma base de données [ par Max ] Bonjour,J'ai un problème avec ma page php. En appuyant sur le bouton j'envoie les données de mon formulaire au serveur et elles sont inscrites dans m cache du navigateur [ par booth ] c'est encore moa....Désolé mais j'ai un projet à terminer dans peu de temps alors...J'ai pas trouvé le moyen de forcer le navigateur (et le proxy pend Prb d'adresse [ par saad123 ] bonjourg un ch'tit problème! en fait , c pour changer l'adresse qu'il y'a dans la barre "adresse" du navigateur ( en dessous de précédent) . l'utilisa appele de WORD sous le navigateur [ par jawad75 ] salut tous le mondeje veux savoir est ce que c'est possible d'appelé WORD apartir d'un navigateur? pr crée ou modifier un .doc Actualiser le navigateur du client [ par Elkaire ] Mon objectif est de permettre a un opérateur de visualiser de courbes pouvant évoluée dans le temps cependant pour pouvoir donner un aspect dynamique Modifier la fonction refresh du navigateur... [ par pegataure ] Bonjour,J'aimerais pouvoir executer un script puis rediriger un visiteur vers une page (autre que la page en cours) lorsque le visiteur clique sur le Reconnaissance d'un ordinater en particulier! [ par Kilco ] Y a t-il un moyen de reconnaître un ordinateur même caché derrière un routeur ou un proxy, même quand l'adresse ip change tout les 5 minutes!N'y a t-i Sondage, reconnaissance IP... [ par jojomillenium ] Hello!Voila ma question. Je propose un sondage sur mon site, et j'aimerai interdire le vote multiple...J'ai alors fait le test de l'adresse IP enregis Changer l'id de session sans fermer le navigateur [ par micholi ] Bonjour,je suis pas mal d&#233;butant et je me demande s'il est possible en php de changer l'id de session sans que le visiteur ait &#224; fermer son PB de click droit dans le navigateur [ par MangaII ] Je suis en train de faire un d&#233;mineur (en ligne), j'ai d&#233;j&#224; un bon d&#233;but, mais il me manque le click droit sur les cases pour y po


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.