// ------- // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur $retour = mysql_query('SELECT COUNT(ip) AS nbre_entrees FROM temp WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); $donnees = mysql_fetch_array($retour); if($donnees['nbre_entrees'] == 0)// L'ip ne se trouve pas dans la table, on va l'ajouter { if(!isset($_SESSION['membre']))//Le code pour verifier qu'une session existe { mysql_query('INSERT INTO temp VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', "visiteur", "0", ' . time() . ')') OR die(mysql_error()); } else//Si oui { $pseudo = $_SESSION['membre']; $rang = $_SESSION['access']; $idrang = $_SESSION['idmembre']; mysql_query('INSERT INTO temp VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', "'.$pseudo.'", "'.$rang.'", ' . time() . ')') OR die(mysql_error());
} } else// L'ip se trouve déjà dans la table, on met juste à jour le timestamp { $pseudo = $_SESSION['membre']; $rang = $_SESSION['access']; $idrang = $_SESSION['idmembre'];
mysql_query('UPDATE temp SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); mysql_query('UPDATE temp SET pseudo=' . $pseudo . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); mysql_query('UPDATE temp SET rang=' . $rang . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); }
// ------- // ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes : $timestamp_5min = time() - (30 * 1); // 60 * 5 = nombre de secondes écoulées en 5 minutes mysql_query('DELETE FROM temp WHERE timestemp < ' . $timestamp_5min);
// ------- // ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés $retour = mysql_query('SELECT COUNT(*)AS nbre_entrees FROM temp'); $donnees = mysql_fetch_array($retour);
// Ouf ! On n'a plus qu'à afficher le nombre de connectés ! $verif = mysql_num_rows($retour); if($verif < 2) { $visiteur = "visiteur"; } else { $visiteur = "visiteurs"; } echo'<hr/>' . $donnees['nbre_entrees'] . ''.$visiteur.'<br/>'; echo'membres connectés :'; $membres = query('SELECT * FROM temp where id_membres != "visiteur"'); while($connecté = mysql_fetch_array($membres)) { if($connecté['rang']=='administrateur') { $membre = '<p class="administrateur">"'.$connecté['id_membres'].'"</p>'; } else { if($connecté['rang']=='modérateur') { $membre = '<p class="modérateur">"'.$connecté['id_membres'].'"</p>'; } else { $membre = '<p class="membre">"'.$connecté['id_membres'].'"</p>'; } }
Voila maintenant l'adresse ou l'on peut voir ce que donne le fichier
www.dubs07.xooit.net
regarder le bas de la page vous verrez l'erreur
Quelqu'un pourrez t'il m'aider?
C'ets un système comme celui-ci que j'utilise: je renouvelle la session à chaque nouvelle page, en plus, en utilisant le phph_sess_id.
erreur dans mon script
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
ABCduWeb, Création de Site Internet
ABCduWeb, Création de Site Internet