CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

PHP:Récupérer informations sur le client

gugus963
gugus963
Niveau 10
14 septembre 2006 à 21:44:40

:salut:

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.

:d)

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

:merci: d´avance :)

PS : J´ai jamais compris ce qu´était le Gaoland.net que l´on voit un peut partout... Pourriez vous m´expliquer ?

:bye:

deepblue
deepblue
Niveau 16
14 septembre 2006 à 21:53:05

http://simmstein.be/wall-SBVqD1Td-php.htm

Pour le fai, il faut regarde les classes d´adresses ip

deepblue
deepblue
Niveau 16
14 septembre 2006 à 21:54:14

merde, la plage d´adresse ip*, phpmyvisit le fait

gugus963
gugus963
Niveau 10
14 septembre 2006 à 22:13:27

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 ^^

deepblue
deepblue
Niveau 16
14 septembre 2006 à 22:29:40

plutot :

if(preg_match("`^212.[0-9]{2,3}.[0-9]{2,3}.[0-]{2,
3}.[0-9]{2,3})) {
$fai = "toto";
}

deepblue
deepblue
Niveau 16
14 septembre 2006 à 22:31:13

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)

darth-bane
darth-bane
Niveau 10
14 septembre 2006 à 22:34:15

deepblue :d) ne pourrais-t-on pas résumer ton code par celui-ci :
http://simmstein.be/wall-bqcm1cIf-php.htm :question:

GuGus963 :d) 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´

gugus963
gugus963
Niveau 10
14 septembre 2006 à 22:35:07

Alors déjà, j´ai fait une erreur de débutant :
J´ai mis un seul = au lieu de deux :hum:

Si tu veux avoir le soft exact, doit tu fait de simple condition
if($machin == "truc") echo "IE";
:d) 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" ^^

gugus963
gugus963
Niveau 10
14 septembre 2006 à 22:40:02

Darth :d) 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´
:d) Oui, oui, je sais, mais c´était un exemple ^^

gugus963
gugus963
Niveau 10
14 septembre 2006 à 22:42:33

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é ^^

deepblue
deepblue
Niveau 16
14 septembre 2006 à 22:54:07

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 ;

darth-bane
darth-bane
Niveau 10
14 septembre 2006 à 23:28:42

GuGus963 :d) 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 :d) autant pour moi, je n´avais pas fait gaffe au ´;´ :honte: :rire:

darth-bane
darth-bane
Niveau 10
15 septembre 2006 à 11:20:49

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

gugus963
gugus963
Niveau 10
15 septembre 2006 à 19:26:48

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...

darth-bane
darth-bane
Niveau 10
15 septembre 2006 à 19:44:41

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.

gugus963
gugus963
Niveau 10
15 septembre 2006 à 19:48:49

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 :-) !

darth-bane
darth-bane
Niveau 10
15 septembre 2006 à 20:04:18

Comme le porsalut (désolé pour l´orthographe), c´est marqué dessus :ok:

gugus963
gugus963
Niveau 10
15 septembre 2006 à 20:26:12

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.

:gne:

Lol tu pourrais m´expliquer, stp, j´arrive pas à comprendre ? ^^

darth-bane
darth-bane
Niveau 10
15 septembre 2006 à 20:41:58

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 :ok:

gugus963
gugus963
Niveau 10
15 septembre 2006 à 21:19:16

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 !

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment