Page 1 sur 1

compteur de visite unique et global

Posté : 07 févr. 2011, 15:42
par bricfa
bonjour,

j' ai un compteur de visite mais il ne me compte qu'une entrer alors qu'il devrait écrire dans la table
chaque visiteurs.
j'ai bien les données écrite sur la table qui s'affiche car quand je vide la table et que j'actualise le site
j'ai bien mon adresse ip et autre info qui s'inscrive alors que quand je demande a des potes d'aller sur le site
il reste toujours a une entrer.

merci pour votre aide car j'ai trop mal a la tête #-o
voici le code

<?php

//01
$pagep = substr($_SERVER['PHP_SELF'], 1);

// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes

// On commence par virer les entrées trop vieilles (+ de 5 minutes)
mysql_query("DELETE FROM connectes WHERE timestamp < " . $timestamp_5min);

//On regarde si le visiteur est déjà dans la table
$retourp = mysql_query('SELECT COUNT(*) AS nb_connectes FROM connectes WHERE ip="' . ip2long($_SERVER['REMOTE_ADDR']) . '"') or die("erreur1");
$donneesp = mysql_fetch_assoc($retourp);

// Si il n'y est pas, on l'ajoute 
if ($donneesp['nb_connectes'] == 0)
{
    mysql_query('INSERT INTO connectes(ip, timestamp, page) values(\'' . ip2long($_SERVER['REMOTE_ADDR']) . '\', NOW() , \'' . $pagep . '\')') or die("erreur2");
}
else // Sinon, on remet le décompte de 5 minutes à 0
{
    mysql_query( 'UPDATE connectes SET timestamp=NOW(), page=\'' . $pagep . '\' WHERE ip=\'' . ip2long($_SERVER['REMOTE_ADDR']) . '\'') or die("erreur3");
}


// Affichage
//Enfin, on calcule le nombre total d'entrées puis on l'affiche !
$retourp = mysql_query('SELECT COUNT(*) AS nb_connectes FROM connectes');
$donneesp = mysql_fetch_assoc($retourp);

$visiteurs_connectes = $donneesp['nb_connectes'];

$tt1=' <strong>' . $donneesp['nb_connectes'] . '</strong>';


//Enfin, on calcule le nombre total d'entrées puis on l'affiche !
$retourp2 = mysql_query('SELECT COUNT(*) AS id FROM connectes');
$donneesp2 = mysql_fetch_assoc($retourp2);

$visiteurs_connectes = $donneesp2['id'];
// Affichage

$tt2= ' <strong>' . $donneesp2['id'] . '</strong>';

?>