par pjl » 29 sept. 2005, 17:10
ouaip, c'est vrai qu'il été temps de mettre ce sujet en résolu, on dois pas etre loin du post le plus long
par Truc » 29 sept. 2005, 14:55
par Cypher_PHP » 29 sept. 2005, 14:47
<? // Connexion à MySQL mysql_connect("sql.free.fr", "xxxxxx", "xxxxxx"); mysql_select_db("gb_recordconnect"); //$dbtable= "gb_recordconnect"; // ------- // 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 gb_recordconnect 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 { mysql_query('INSERT INTO gb_recordconnect VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')'); } else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp { mysql_query('UPDATE gb_recordconnect SET timestamp=' . time() . ' 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() - (60 * 1); // 60 * 5 = nombre de secondes écoulées en 5 minutes mysql_query('DELETE FROM gb_recordconnect WHERE timestamp < ' . $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(ip) AS nbre_entrees FROM gb_recordconnect'); $donnees = mysql_fetch_array($retour); // Ouf ! On n'a plus qu'à afficher le nombre de connectés ! echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>'; // Recherche du nombre de gb_recordconnect //ajuste les données de la requete id et table $query="SELECT COUNT(ip) FROM gb_recordconnect"; $sql_result = mysql_query($query); $nb_actuel=mysql_result($sql_result, 0,0); //traitement du fichier -> lecture du record $fichier_text="record.txt"; $f=fopen($fichier_text,"r+"); $record = fread ($f, filesize ($fichier_text)); if($record<$nb_actuel) //si la valeur lue dans le fichier est inferieure alors on écrase le fichier avec la nouvelle valeur { rewind ($f); fwrite($f, $nb_actuel); $record=$nb_actuel; } fclose($f); echo "Le record de connectés est: ".$record['maxrecord']; ?>
par mere-teresa » 29 sept. 2005, 14:47
par Invité » 29 sept. 2005, 14:45
par Truc » 29 sept. 2005, 13:01
echo $row['ip'];
$query="SELECT COUNT(ip) FROM table"; $sql_result = mysql_query($query); $nb_actuel=mysql_result($result, 0,0);
par Cypher_PHP » 29 sept. 2005, 07:02
par Cypher_PHP » 29 sept. 2005, 06:42
<? // Connexion à MySQL mysql_connect("sql.free.fr", "xxxxx", "xxxxx"); mysql_select_db("gb_recordconnect"); //$dbtable= "gb_recordconnect"; // ------- // 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 gb_recordconnect 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 { mysql_query('INSERT INTO gb_recordconnect VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')'); } else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp { mysql_query('UPDATE gb_recordconnect SET timestamp=' . time() . ' 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() - (60 * 1); // 60 * 5 = nombre de secondes écoulées en 5 minutes mysql_query('DELETE FROM gb_recordconnect WHERE timestamp < ' . $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(ip) AS nbre_entrees FROM gb_recordconnect'); $donnees = mysql_fetch_array($retour); // Ouf ! On n'a plus qu'à afficher le nombre de connectés ! echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>'; // Recherche du nombre de gb_recordconnect //ajuste les données de la requete id et table $query = "SELECT COUNT(ip) as maxrecord FROM gb_recordconnect"; $sql_result = mysql_query($query); while ($nb_actuel = mysql_fetch_assoc($sql_result)) { echo $row['ip']; } mysql_free_result($sql_result); //traitement du fichier -> lecture du record $fichier_text="record.txt"; $f=fopen($fichier_text,"r+"); $record = fread ($f, filesize ($fichier_text)); ; if($record<$nb_actuel) //si la valeur lue dans le fichier est inferieure alors on écrase le fichier avec la nouvelle valeur { rewind ($f); fwrite($f, $nb_actuel); $record=$nb_actuel; } fclose($f); echo "Le record de connectés est: ".$record['maxrecord']; ?>
par Truc » 29 sept. 2005, 01:25
oui ca y est j'ai compris?
par Cypher_PHP » 28 sept. 2005, 21:50
par pjl » 28 sept. 2005, 21:03
par Cypher_PHP » 28 sept. 2005, 20:02
par pjl » 28 sept. 2005, 18:11
par Cypher_PHP » 28 sept. 2005, 18:04
<? // Connexion à MySQL mysql_connect("sql.free.fr", "xxxxxxxxxxxx", "xxxxx"); mysql_select_db("gb_recordconnect"); //$dbtable= "gb_recordconnect"; // ------- // 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(*) AS nbre_entrees FROM gb_recordconnect 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 { mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')'); } else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp { mysql_query('UPDATE connectes SET timestamp=' . time() . ' 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() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes mysql_query('DELETE FROM connectes WHERE timestamp < ' . $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 gb_recordconnect'); $donnees = mysql_fetch_array($retour); // Ouf ! On n'a plus qu'à afficher le nombre de connectés ! echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>'; // Recherche du nombre de connectes //ajuste les données de la requete id et table $query="SELECT COUNT(ip) as maxrecord FROM gb_recordconnect"; $sql_result = mysql_query($query); $nb_actuel=mysql_fetch_assoc($sql_result); //traitement du fichier -> lecture du record $fichier_text="record.txt"; $f=fopen($fichier_text,"r+"); $record = fread ($f, filesize ($fichier_text)); if($record<$nb_actuel) //si la valeur lue dans le fichier est inferieure alors on écrase le fichier avec la nouvelle valeur { rewind ($f); fwrite($f, $nb_actuel); $record=$nb_actuel; } fclose($f); echo "Le record de connectés est: ".$record['Record']; ?>
par pjl » 28 sept. 2005, 15:30