1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
// Connexion à MySQL assuree par le script parent
// -------
// ETAPE 1 : on supprime toutes les entrées dont le timestamp est plus vieux que 15 minutes
// Cette etape doit etre en premier car evite que si personnes ne navigue sur le site les timestamp_15min
//ne sont pas supprimes et donc si le meme joueur se reconnecte le lendemain
//la duree de jeu est comptee comme une nuit enfin c complique merde
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_15min = time() - (60 * 15); // 60 * 15 = nombre de secondes écoulées en 15 minutes
mysql_query("DELETE FROM `connectes` WHERE timestamp < '". $timestamp_15min."'");
// ETAPE 2 : 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 * FROM connectes WHERE id='".$joueur->plouc_id."' LIMIT 1");
$deja_connecte = mysql_num_rows($retour);
if (($deja_connecte == 0) AND ($joueur->pseudo_plouc !='LEKING'))
// L'ip ne se trouve pas dans la table, et le plouc en question nest pas ladmin, on va l'ajouter
{
$sql_ajout_connecte= "INSERT INTO connectes (ip,id,pseudo,xp,timestamp) VALUES('".$_SERVER['REMOTE_ADDR']."','".$joueur->plouc_id."','".$joueur->pseudo_plouc."','".$joueur->plouc_xp."' ,'".time()."')";
mysql_query($sql_ajout_connecte) or die(mysql_error());
}
elseif (($deja_connecte != 0) AND ($joueur->pseudo_plouc !='LEKING'))
// L'ip se trouve déjà dans la table, on met juste à jour le timestamp et l'xp et le pseudo
//si l'ip est deja dans la table, incrémente le temps de jeu du MEMBRE
{
$timestamp_connecte = mysqli_result($retour,0,timestamp);
//-debug echo $timestamp_connecte;
$temps_en_plus = time() - $timestamp_connecte;
mysql_query("UPDATE connectes SET timestamp='".time()."', pseudo='".$joueur->pseudo_plouc."' ,xp='".$joueur->plouc_xp."', ip='".$_SERVER['REMOTE_ADDR']."' WHERE id='".$joueur->plouc_id."'") or die(mysqli_error());
$sql_tps_connection = "UPDATE membres SET `temps_de_jeu` = `temps_de_jeu` + ".$temps_en_plus." WHERE id='".$joueur->plouc_id."'";
$sql_tps_connection= mysql_query($sql_tps_connection) or die(mysql_error());
//-debug echo 'temps de connection est augmenté de '.$temp;
}
// -------
// 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 connectes");
$nb_connectes = mysql_fetch_array($retour);
?> |
Partager