Bonjour,
Après avoir tenté "Affichez le nombre de visiteurs connectés" et résolu https://forum.alsacreations.com/topic-1-83001-1-Resolu-Affichez-le-nombre-de-visiteurs-connectes.html je viens maintenant pour un problème similaire "Affichez les utilisateurs connectés sur un chat" voici mon code :
Merci de votre aide.
Modifié par ricem (15 Mar 2018 - 11:49)
Après avoir tenté "Affichez le nombre de visiteurs connectés" et résolu https://forum.alsacreations.com/topic-1-83001-1-Resolu-Affichez-le-nombre-de-visiteurs-connectes.html je viens maintenant pour un problème similaire "Affichez les utilisateurs connectés sur un chat" voici mon code :
require "#require/connet_bdd.php"; //Connexion à la base de données
// ÉTAPE 1 : on vérifie si le pseudo se trouve déjà dans la table.
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "pseudo" le pseudo du visiteur.
$retour = $bdd->query('SELECT pseudo AS existe_pseudo FROM connect_chat WHERE pseudo="'.$_SESSION['pseudo'].'"');
$donnees = $retour->fetch();
if (!isset($_SESSION['pseudo'])) // Le pseudo ne se trouve pas dans la table, on va l'ajouter.
{
$bdd->query('INSERT INTO connectes (pseudo, timestamp) VALUES ("'.$_SESSION['pseudo'].'", "'.time().'")');
}
else // Le pseudo se trouve déjà dans la table, on met juste à jour le timestamp.
{
$bdd->query('UPDATE connectes SET timestamp="'.time().'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
}
// ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 2 minutes.
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_min = time() - (60 *2); // nombre en secondes multiplié par nombre de minute
$bdd->query('DELETE FROM connectes WHERE timestamp<"'.$timestamp_min.'"');
// ÉTAPE 3 : on compte le nombre de pseudo stockées dans la table. C'est le nombre de visiteurs connectés.
$retour = $bdd->query('SELECT pseudo AS existe_pseudo FROM connectes');
while ($donnees = $reponse->fetch())
{
echo '<p>Il y a actuellement ' . $donnees['existe_pseudo'] . ' comme visiteurs sur le chat !</p>';
}
$reponse->closeCursor();
?>
mais j'ai deux erreur la 1ère "Notice: Undefined variable: reponse in...." et la 2ème "Fatal error: Call to a member function fetch() on null in....." j'ai essayé plusieur truc sans résultat Merci de votre aide.
Modifié par ricem (15 Mar 2018 - 11:49)