Désolé pour le titre un peu brouillon, mais je voulais tout faire tenir ^^
Voilà, je voudrais savoir comment avoir de diverses informations sur le client.
Je sais déjà comment avoir l´adresse ip du client, c´est "$_SERVER[´REMOTE_ADDR´]", mais j´aimerais aller plus loin : connaître le navigateur du clien, sa version...
Alors j´ai déjà quelque chose pour connaître le navigateur, mais regardez :
Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6 (avec firefox)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) (avec IE)
C´est un vrai charabia ! Comment s´y retrouver ?
D´ailleurs avec un explode(), on pourrait peut être obtenir le nom du navigateur, même l´os, mais ça varie de navigateur en navigateur et d´os en os...
J´aimerais pouvoir connaître le système d´exploitation du client.
J´aimerais aussi connaître le FAI du client.
En résumé, j´aimerais connaître (en plus de l´ip) :
-Le navigateur et sa version, du client
-L´OS (et sa version...) du client
-Le FAI du client
d´avance
PS : J´ai jamais compris ce qu´était le Gaoland.net que l´on voit un peut partout... Pourriez vous m´expliquer ?
![]()
http://simmstein.be/wall-SBVqD1Td-php.htm
Pour le fai, il faut regarde les classes d´adresses ip
merde, la plage d´adresse ip*, phpmyvisit le fait
Merci Deep, en fait tu as fait ce que je disais ("D´ailleurs avec un explode(), on pourrait peut être obtenir le nom du navigateur, même l´os, mais ça varie de navigateur en navigateur et d´os en os...")
Mais en fait il y a un problème : Le navigateur n´est pas bon. Si je prends Firefox 1.5 (je crois que c´est sa version), Ca me met Mozilla 5.0.
Si j´utilise IE6, ça me met Mozilla 4.0.
Peux tu régler ce problème ? Par contre pour l´OS c´est parfait (Windows NT 5.0)...
En fait ce que tu as fait c´est ça : tu as pris :
Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
Et tu as extrait "Mozilla/5.0" (on pourrait d´ailleurs remplacer le slash par un espace) et "Windows NT 5.0"
Et donc pour les FAI, si je comprends bien, y a une plage d´adresse ip ?
Je pourrais avoir la plage de Cegetel, neuf, club internet, wanadoo, aol, free... ?
Et donc je devrais faire quelque chose dans ce genre ? :
if($ip = 212.71.56.89)
{
$fai = cegetel;
}
elseif($ip = 315.98.56.45)
{
$fai = free;
}
[etc]
Merci de ton aide ^^
plutot :
if(preg_match("`^212.[0-9]{2,3}.[0-9]{2,3}.[0-]{2,
3}.[0-9]{2,3})) {
$fai = "toto";
}
oups, desole pour le double poste,
Si tu veux avoir le soft exact, doit tu fait de simple condition
if($machin == "truc") echo "IE";
Tu peux aussi utiliser le javascript, et envoyer une requete GET vers une page php avec le nom du navigateur (javascript a l´air plus précis)
deepblue
ne pourrais-t-on pas résumer ton code par celui-ci :
http://simmstein.be/wall-bqcm1cIf-php.htm
GuGus963
il serais plus juste de remplacer :
if($ip = 212.71.56.89)
{
$fai = cegetel;
}
elseif($ip = 315.98.56.45)
{
$fai = free;
}
par :
switch ($ip)
{
case ´212.71.56.89´:
$fai = ´cegetel´;
break;
case ´315.98.56.45´:
$fai = ´free´;
break;
...
case ´XXX.XXX.XXX.XXX´:
$fai = ´trucmuche";
}
Mais de toute façon, c´est plutôt du genre 255.255.128.0 < $ip < 255.255.129.0 alors $fai = ´machinchose´
Alors déjà, j´ai fait une erreur de débutant :
J´ai mis un seul = au lieu de deux
Si tu veux avoir le soft exact, doit tu fait de simple condition
if($machin == "truc") echo "IE";
Je n´ai pas compris.
Sinon, je ne connais strictement rien au javascript, c´est tout juste si je sais afficher une fenetre avec "alert" ^^
Darth
Merci. Tu t´es légèrement trompé pour ton code au dessus, car c´est $os = $explode[3]; qu´il faudrait mettre, et non pas $os = $explode[2]; , sinon, $os vaudrait "U;" (chez moi en tout cas).
En tout cas, c´est clair que t´as bien simplifié ![]()
Sinon, c´est vrai que le switch est plus approprié, mais c´était un exemple !
Mais de toute façon, c´est plutôt du genre 255.255.128.0 < $ip < 255.255.129.0 alors $fai = ´machinchose´
Oui, oui, je sais, mais c´était un exemple ^^
Ah et non d´ailleurs ça ne marcherait pas, car $explode[3] ne vaudrait que Windows, il faudrait plutot faire :
echo $soft . "<br />" . $explode[3] . $explode[4] . $explode[5];
dans mon cas en tout cas, ce qui donnerait Windows NT 5.0.
Enfin bref, je chipote, mais au final je pense que le code de deep est plus approprié ^^
Darth > ça ne fonctionnera par correctement car la 1ere partie decoupe la chiane de caractères suivant les espaces, je prend le "premier bloc", alors qua la 2nd parie du code, je la decoupe avec les ;
GuGus963
je n´avais fait que reprendre le code de deepblue :
<?php
$soft = $_SERVER[´HTTP_USER_AGENT´];
$expl = explode(´ ´, $soft);
$soft = $expl[0];
echo $soft;
$os = $_SERVER[´HTTP_USER_AGENT´];
$ex = explode(´;´, $os);
$os = $ex[2];
echo $os;
?>
Et comme je n´ai pas testé, je ne pouvais pas savoir que c´était ´3´ et pas ´2´
deepblue
autant pour moi, je n´avais pas fait gaffe au ´;´
![]()
Tu peux t´aider de
http://fr.php.net/manual/al/fr/function.get-browser.php
ou de
http://techpatterns.com/downloads/php_browser_detection.php
Ah merci !
$browser = get_browser(null, true);
print_r($browser);
Et donc en fait...
$browser = get_browser(null, true);
echo $browser[browser];
echo $browser[version];
Ca claque ! Ca me donnerait : Firefox 1.5 ou un truc dans le genre...
Je teste...
http://goliathletueur.frefree.fr/tests/test_browser.php
Ca marche pas...
Il faudrait que tu lises bien tout !
Il faut télécharger le fichier browscap.ini et modifier le fichier PHP.ini
Je n´ai pas fini de tester get_browser(), mais la seconde méthode fonctionne pas mal.
Ah ouais ok j´avais zappé...
Voilà je l´ai téléchargé, mais la question est : Ou dois-je enregistrer le fichier ? A la racine du site web ?
Merci
!
Comme le porsalut (désolé pour l´orthographe), c´est marqué dessus ![]()
La valeur cookies indique simplement que le navigateur est capable d´accepter les cookies, et n´indique pas si l´utilisateur les a activé sur son navigateur. Le seul moyen de tester l´activation des cookies est d´en poser un avec la fonction setcookie(), de recharger la page et de vérifier que le cookie existe toujours.
Note : Afin de pouvoir fonctionner, la directive de configuration browscap dans le fichier php.ini doit pointer vers le fichier browscap.ini de votre système.
browscap.ini n´est pas distribué avec PHP, mais vous pouvez le télécharger sur up-to-date php_browscap.ini.
Bien que browscap.ini contienne des informations sur de très nombreux navigateur, il incombe à l´utilisateur de conserver sa base de données à jour. Le format du fichier est très simple à comprendre.
Lol tu pourrais m´expliquer, stp, j´arrive pas à comprendre ? ^^
normalement dans c:\windows\system32\inetserv si je me souviens bien
Si c´est sur un compte d´hébergement, je ne me souviens plus, j´ai lu ça cet après midi vite fait au boulot.
Mais essaye l´autre méthode ![]()
J´ai placé le fichier browscap.ini dans C:\WINNT\system32\inetsrv
Mais bon de toute façon ça ne marche pas...
Pas grave, je vais essayer l´autre méthode !