| Profil | Messages |
|---|---|
| Profil | Messages |
1 messages Inscrit le 10/05/07 |
Salut et merci pour les infos disponibles sur ce site, très apreciables !
Je voudrais collecter les informations propres à chaque utilisateurs dans une base de données, en gros, j'ai mis en place un script php pour l'envoi d'email sur mon site, mais je voudrais ajouter l'ip, le fai, le browser .... des individus qui m'envoient un mail Comment collecter ce genre d'infos dans un base de données mysql : <script type="text/javascript" src="http://infos-visiteurs.web-modules.net/nom_navigateur.php"></script> Merci pour votre aide cdlt |
855 messages Inscrit le 13/02/07 |
Puisque tu connais le PHP (tu en a l'air en tout cas
), on va faire tout ça directement en PHP ![]() Désolé mais il n'y a pas de coloration syntaxique, fait copier-coller dans notpad++ (ou autre) pour mieux mettre en couleur/forme le texte, parce que c'est pas toujours clair sans la couleur L'IPRien de plus simple pour récupérer une IP, elle se trouve dans une variable pré-remplie par Apache :Citation de "PHP" $ipDuVisiteur = $_SERVER['REMOTE_ADDR']; Signature du navigateurLa aussi, la variable est déjà remplie Citation de "PHP" $signatureDuNavigateurDuVisiteur = $_SERVER['HTTP_USER_AGENT']; Le nom du navigateurPour cela on va se servir de la variable précédente, et on va vérifier ce qu'elle contient en utilisant une fonction de recherche simple mais très rapide (strpos). On recherche des informations spécifiques tel qu'un nom dans cette chaine de caractères :Citation de "PHP" if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) $navnom = 'Internet Explorer'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) $navnom = 'Mozilla Firefox'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== FALSE) $navnom = 'Opera'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') !== FALSE) $navnom = 'Netscape'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Konqueror') !== FALSE) $navnom = 'Konqueror'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla SeaMonkey') !== FALSE) $navnom = 'SeaMonkey'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE) $navnom = 'Safari'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== FALSE) $navnom = 'Lynx'; elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'bot') !== FALSE OR strpos($_SERVER['HTTP_USER_AGENT'], 'spider') !== FALSE) $navnom = 'Moteur de recherche'; else $navnom = '$_SERVER['HTTP_USER_AGENT'] inconnu'; DomaineDans ce cas, il suffit de résoudre l'adresse du client à partir de l'adresse IP, une fonction est inclus en standard (hourra )Citation de "PHP" $domaineDuVisiteur = gethostbyaddr($_SERVER['REMOTE_ADDR']); FAIPour ça, on va utiliser la variable créée avant contenant le nom de domaine du client, et on récupère les caractères se trouvant après l'avant dernier point. Par exemple "abo-243-237-68.guy.modulonet.fr" devient "modulonet.fr" :Citation de "PHP" $domaineDuVisiteur = gethostbyaddr($_SERVER['REMOTE_ADDR']); On notera que $nomDuFAI ne contient pas toujours nom connu du FAI, ainsi "modulonet" est utilisé pour "Numericable" $fai = explode('.', $domaineDuVisiteur); $nomDuFAI = $fai[count($fai) - 2]; // ex: modulonet $paysDuFAI = $fai[count($fai) - 1]; // ex: fr echo $nomDuFAI. '.' .$paysDuFAI; ![]() [EDIT @ 10-05-2007 à 16h51] Je te laisse bien entendu faire la requête qui va avec pour stocker toutes ces informations |
855 messages Inscrit le 13/02/07 |
Dis pas merci surtout
|
183 messages Inscrit le 13/02/07 |
C'est ce qu'il fait ! ! !
|
855 messages Inscrit le 13/02/07 |
Disons qu'on peut dire merci avant et ... après avoir l'info
![]() Enfin bon ... |