STATISTIQUES D'UN SITE WEB

perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006 - 5 déc. 2003 à 23:49
cs_heine Messages postés 58 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 novembre 2006 - 19 mai 2005 à 10:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18448-statistiques-d-un-site-web

cs_heine Messages postés 58 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 novembre 2006
19 mai 2005 à 10:23
euh tu parles de dixit la, c'est bien c vrai parce que l'on voit l'apercu en tableau et tout, mais toi vour visualiser les stats dans ta source c'est ou..? ta source est un simple include de quelques varibles la... j'me trompe.? :*/
cs_cedy Messages postés 1 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 25 mars 2005
25 mars 2005 à 19:51
pour connaitre le pays, perso je fait un whois sur l'ip via un serveur fait pour puis j'explode ce que je reçoie et resort la ligne qui contien le mot country. pour choper l'ip qqun t'as déja répondu ..

le code que je te cole ici est tiré d'un autre site, je l'ai modifier pour qu'il ne me donne que ce que j'ai besoin . c'est a dire la variable $pays

__________________________________

<?
// ********************************************
// Initiation des variables
// ********************************************
$whois_ip_demande=getenv("REMOTE_ADDR");


// ********************************************
// Vérification des champs vide
// ********************************************
if (empty($whois_ip_demande))
whois_erreur(1);

// ********************************************
// Résolution du nom et conformité de l'IP selectionné
// ********************************************
if (ip2long($whois_ip_demande)==-1) // Si ce n'est pas une IP
{
$nom_correspondant=gethostbyname($whois_ip_demande); // Alors résolution du nom
if ($nom_correspondant!=$whois_ip_demande) // Si il a résolut le nom
$whois_ip_demande=$nom_correspondant; // Récupération de l'ip résolut
else
whois_erreur(2);
}

// ********************************************
// Transforme les saisies tel que 10.10..4 en 10.10.0.4
// ********************************************
$inetaddr=ip2long($whois_ip_demande);
$whois_ip_demande=long2ip($inetaddr);



// ********************************************
// Appel de la fonction connexion
// ********************************************
$buffer=connexion("whois.ripe.net",$whois_ip_demande);
$serveur_ayant_repondu="whois.ripe.net";

// ********************************************
// Vérifie si on est sur le bon serveur
// ********************************************
if (eregi("www.iana.org", $buffer))
{
$buffer=connexion("whois.arin.net",$whois_ip_demande);
$serveur_ayant_repondu = "whois.arin.net";
}
elseif (eregi("whois.apnic.net", $buffer))
{
$buffer=connexion("whois.apnic.net",$whois_ip_demande);
$serveur_ayant_repondu = "whois.apnic.net";
}
elseif (eregi("whois.registro.br", $buffer))
{
$buffer=connexion("whois.registro.br",$whois_ip_demande);
$serveur_ayant_repondu = "whois.registro.br";
}
elseif (eregi("nic.ad.jp", $buffer))
{
$buffer=connexion("whois.nic.ad.jp",$whois_ip_demande);
}

// ********************************************
// Intégre les retours charriot
// ********************************************
$buffer2 = nl2br($buffer);

// ********************************************
// Affiche le resultat
// ********************************************

$text = explode("
", $buffer2);
for ($i=0; $i <50; $i++)
{
if (stristr($text[$i], "country"))
{

$pays_ = explode(" ", $text[$i]);
$pays = $pays_[6];
}
else { continue;}
}

// ********************************************
// Fin du script général
// ********************************************
//fin_du_script();

// ********************************************
// Fonction de connexion whois
// ********************************************
function connexion($serveur,$ip_recherche)
{
// ********************************************
// Ouverture de la session TCP
// ********************************************
$socket=fsockopen($serveur, 43);

if ($socket!=0)
{
// ********************************************
// Envoi de l'IP demandé
// ********************************************
fwrite($socket, "$ip_recherche\n");

// ********************************************
// Receptionne dans buffer la réponse
// ********************************************
while (feof($socket)==0)
$tampon = $tampon . fgets($socket, 1000); // Le . signifie concatenation

// ********************************************
// Ferme la session TCP
// ********************************************
fclose($socket);
}
else
// ********************************************
// Sortie du script
// ********************************************
whois_erreur(3);

return ($tampon);
}

// ********************************************
// Fonction d'affichage de l'erreur de saisie
// ********************************************
function whois_erreur($erreur) // $erreur représente le numéro d'erreur.
{

// ********************************************
// Message personnalisé
// ********************************************
if ($erreur==1)
echo'null';
elseif ($erreur==2)
echo'null';
elseif ($erreur==3)
echo'null';

// ********************************************
// Fin du script général
// ********************************************
fin_du_script();
}

function fin_du_script()
{

// ********************************************
// Fin du script général
// ********************************************
exit(0);
}

?>

________________________________
Splacheur Messages postés 69 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 9 octobre 2005
8 déc. 2003 à 14:43
nan je crois que pour savoir le pays du visiteur, il faut en effet utiliser l'IP (pas le $HTTP_USER_AGENT), et la traiter avec un script spécial utilisant une base de donnée contenant tous les noms de pays. Un membre en a déjà parlé ici, je vous conseil de faire une recherche grâce au moteur en haut de la page ;-)
moon80 Messages postés 1 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 6 décembre 2003
6 déc. 2003 à 20:47
Je connais dixipub.com c'est vrai que c'est l'un des meilleurs et il est très complet.
Pour ta question :
Grace à $HTTP_USER_AGENT tu peux récupérer la langue et la pays de l'utilisateur, ainsi que le navigateur. et l'OS
Pour cela, il faut faire des extractions du type "fr -> france" "ie 6.0 -> internetExplorer6.0" etc.
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
6 déc. 2003 à 14:00
Souvant, les configues client sont récupéré avec des javascripts.

Il génère une balise image, dont l'adresse correspond à une page php.
La page php enregistre les infos par la methode GET puis renvois une image.

C'est la seul methode que je connais.
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
5 déc. 2003 à 23:49
Il y a $HTTP_USER_AGENT qui te permetde récupérer le navigateur (on peut récupérer autre chose avec cette variable mais je sais pas quoi)

Pour le pays ils doivent utiliser l'ip (je crois que le dernier nombre de l'ip donne le pay ou un truc comme ca)

l'ip tu l'a avec $REMOTE_ADDR

pour le reste je sais pas

désolé
Rejoignez-nous