Récupération navigateur et os
Résolu
kitusais
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
kitusais Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
kitusais Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai placé deux codes pour récupérer le navigateur et le système d'exploitation des membres de mon site.
Le problème, c'est qu'il semble que pour certains les résultats soient erronés.
Par exemple, affichage de ie6 au lieu de ie7 ou ie8, et affichage de xp au lieu de vista.
Pour ma part, j'ai testé sous plusieurs navigateurs et os et c'est ok.
Ma question, les codes suivants sont-ils en cause ??
Faut-il les modifier ou les améliorer ??
Si ces codes ne sont pas fautifs, quelles peuvent êtres les causes de ces mauvaises reconnaissances?
Merci pour toute aide.
le code pour récupérer les navigateurs :
$var_nav = explode(' ',$_SERVER['HTTP_USER_AGENT']);
$var_nav = $var_nav[0];
$user_browser = $var_nav;
if (ereg("MSIE 8", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 8";
}
if (ereg("MSIE 7", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 7";
}
else if (ereg("MSIE 6", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 6";
}
else if (ereg("MSIE 5", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 5";
}
else if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
$user_browser = " internet explorer 4";
}
else if (ereg("Firefox/1", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " Firefox 1";
}
else if (ereg("Firefox/2", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " Firefox 2";
}
else if (ereg("Firefox/3", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " Firefox 3";
}
le code pour récupérer les systèmes d'exploitations :
if (strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.1")) {
$user_os = "Windows XP";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.0")) {
$user_os = "Windows 2000";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 6.0")) {
$user_os = "Windows Vista";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 4")) {
$user_os = "Windows NT 4.0";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows 98") || strstr($_SERVER['HTTP_USER_AGENT'], "Win 98")) {
$user_os = "Windows 98";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows 95") || strstr($_SERVER['HTTP_USER_AGENT'], "Win 95")) {
$user_os = "Windows 95";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows 9") || strstr($_SERVER['HTTP_USER_AGENT'], "Win 9")) {
$user_os = "Windows 9x";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows Me") || strstr($_SERVER['HTTP_USER_AGENT'], "winme")) {
$user_os = "Windows Me";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Win32")) {
$user_os = "Win32";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "PPC") || strstr($_SERVER['HTTP_USER_AGENT'], "Mac_PowerPC")) {
$user_os = "Mac Power PC";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "mac")) {
$user_os = "Macintosh";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "X11")) {
$user_os = "X11";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "SunOS")) {
$user_os = "SunOS";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "BeOS")) {
$user_os = "BeOS";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "FreeBSD")) {
$user_os = "FreeBSD";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "OpenBSD")) {
$user_os = "OpenBSD";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "IRIX")) {
$user_os = "IRIX";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "OS/2")) {
$user_os = "OS/2";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Plan9")) {
$user_os = "Plan9";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "OSF")) {
$user_os = "OSF";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "HP-UX")) {
$user_os = "HP-UX";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Linux")) {
$user_os = "Linux";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "unix")) {
$user_os = "Other Unix";
} else {
$user_os = "Autre...";
}
J'ai placé deux codes pour récupérer le navigateur et le système d'exploitation des membres de mon site.
Le problème, c'est qu'il semble que pour certains les résultats soient erronés.
Par exemple, affichage de ie6 au lieu de ie7 ou ie8, et affichage de xp au lieu de vista.
Pour ma part, j'ai testé sous plusieurs navigateurs et os et c'est ok.
Ma question, les codes suivants sont-ils en cause ??
Faut-il les modifier ou les améliorer ??
Si ces codes ne sont pas fautifs, quelles peuvent êtres les causes de ces mauvaises reconnaissances?
Merci pour toute aide.
le code pour récupérer les navigateurs :
$var_nav = explode(' ',$_SERVER['HTTP_USER_AGENT']);
$var_nav = $var_nav[0];
$user_browser = $var_nav;
if (ereg("MSIE 8", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 8";
}
if (ereg("MSIE 7", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 7";
}
else if (ereg("MSIE 6", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 6";
}
else if (ereg("MSIE 5", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " internet explorer 5";
}
else if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
$user_browser = " internet explorer 4";
}
else if (ereg("Firefox/1", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " Firefox 1";
}
else if (ereg("Firefox/2", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " Firefox 2";
}
else if (ereg("Firefox/3", $_SERVER["HTTP_USER_AGENT"]))
{
$user_browser = " Firefox 3";
}
le code pour récupérer les systèmes d'exploitations :
if (strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.1")) {
$user_os = "Windows XP";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.0")) {
$user_os = "Windows 2000";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 6.0")) {
$user_os = "Windows Vista";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows NT 4")) {
$user_os = "Windows NT 4.0";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows 98") || strstr($_SERVER['HTTP_USER_AGENT'], "Win 98")) {
$user_os = "Windows 98";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows 95") || strstr($_SERVER['HTTP_USER_AGENT'], "Win 95")) {
$user_os = "Windows 95";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows 9") || strstr($_SERVER['HTTP_USER_AGENT'], "Win 9")) {
$user_os = "Windows 9x";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Windows Me") || strstr($_SERVER['HTTP_USER_AGENT'], "winme")) {
$user_os = "Windows Me";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Win32")) {
$user_os = "Win32";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "PPC") || strstr($_SERVER['HTTP_USER_AGENT'], "Mac_PowerPC")) {
$user_os = "Mac Power PC";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "mac")) {
$user_os = "Macintosh";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "X11")) {
$user_os = "X11";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "SunOS")) {
$user_os = "SunOS";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "BeOS")) {
$user_os = "BeOS";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "FreeBSD")) {
$user_os = "FreeBSD";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "OpenBSD")) {
$user_os = "OpenBSD";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "IRIX")) {
$user_os = "IRIX";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "OS/2")) {
$user_os = "OS/2";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Plan9")) {
$user_os = "Plan9";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "OSF")) {
$user_os = "OSF";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "HP-UX")) {
$user_os = "HP-UX";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "Linux")) {
$user_os = "Linux";
} elseif(strstr($_SERVER['HTTP_USER_AGENT'], "unix")) {
$user_os = "Other Unix";
} else {
$user_os = "Autre...";
}
A voir également:
- Récupération navigateur et os
- Navigateur web - Guide
- Mac os 15 - Accueil - MacOS
- Reinstaller mac os - Guide
- Extension de navigateur - Guide
- Navigateur privé - Guide
5 réponses
<?
extract($_SERVER);
if ( strstr($HTTP_USER_AGENT,"Mac") $user_os="mac";
elseif ......
else echo "non prévu $HTTP_USER_AGENT";
?>
extract($_SERVER);
if ( strstr($HTTP_USER_AGENT,"Mac") $user_os="mac";
elseif ......
else echo "non prévu $HTTP_USER_AGENT";
?>
re,
Pour exemple :
sous windows vista
résultat :
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
et ce pc est détecté en windows xp et internet explorer 7.
Une idée....
a+
Pour exemple :
sous windows vista
résultat :
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
et ce pc est détecté en windows xp et internet explorer 7.
Une idée....
a+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question