Php/sql : voir si quelqu'un est loggé
Résolu
zephyrangel
-
Tryphon71 Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
Tryphon71 Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'apprends actuellement le php et comme exercice j'ai créé un petit site où j'aimerais entre autre que l'utilisateur puisse se logger et voir qui est actuellement en ligne.
Le moyen que j'ai trouvé pour voir si quelqu'un était en ligne est de mettre un champ "online" dans la base de donnée et le mettre à 1 quand il se logge, et à 0 quand il se délogge. Je ne sais pas du tout si c'est comme ça que je suis sensé faire, mais en tout cas ça fonctionne.. sauf pour un point;
Le problème c'est que je ne sais pas comment ni même s'il est possible de mettre ce champ à 0 si l'utilisateur ne se délogge pas manuellement (expiration de sa session)
Quelqu'un sait comment faire ça?
J'apprends actuellement le php et comme exercice j'ai créé un petit site où j'aimerais entre autre que l'utilisateur puisse se logger et voir qui est actuellement en ligne.
Le moyen que j'ai trouvé pour voir si quelqu'un était en ligne est de mettre un champ "online" dans la base de donnée et le mettre à 1 quand il se logge, et à 0 quand il se délogge. Je ne sais pas du tout si c'est comme ça que je suis sensé faire, mais en tout cas ça fonctionne.. sauf pour un point;
Le problème c'est que je ne sais pas comment ni même s'il est possible de mettre ce champ à 0 si l'utilisateur ne se délogge pas manuellement (expiration de sa session)
Quelqu'un sait comment faire ça?
A voir également:
- Php/sql : voir si quelqu'un est loggé
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Alert php ✓ - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
Salut,
penche toi du coté des sessions, avec une variable du type
$_SESSION['logge'] = 1 // Si il est loggé
$_SESSION['logge'] = 0 // Si il n'est pas loggé
Tiens un ptit tuto si tu connait pas :
https://apprendre-php.com/tutoriels/tutoriel-14-les-sessions.html
Pour l'expiration de session tu peut toujours aller jeter un oeil du coté du javascript ici :
http://www.asp-php.net/ressources/bouts_de_code.aspx?id=480
penche toi du coté des sessions, avec une variable du type
$_SESSION['logge'] = 1 // Si il est loggé
$_SESSION['logge'] = 0 // Si il n'est pas loggé
Tiens un ptit tuto si tu connait pas :
https://apprendre-php.com/tutoriels/tutoriel-14-les-sessions.html
Pour l'expiration de session tu peut toujours aller jeter un oeil du coté du javascript ici :
http://www.asp-php.net/ressources/bouts_de_code.aspx?id=480
ok mais si je ne me trompe pas la variable session ne permettra pas de voir si quelqu'un d'autre est en ligne
le javascript c'est une idée, je ne connais pas encore suffisamment pour savoir comment faire ça mais je devrais voir ça d'ici peu. Je suppose qu'il y a moyen de mettre la base sql à jour au bout d'un certain temps ou lors de la fermeture du navigateur. Par contre si un utilisateur plante je pense que la base de données sql ne sera pas mise à jour autrement dit que son statut restera "en ligne". C'est pour ça que je me disais qu'il fallait plutôt un script côté serveur que côté client.
le javascript c'est une idée, je ne connais pas encore suffisamment pour savoir comment faire ça mais je devrais voir ça d'ici peu. Je suppose qu'il y a moyen de mettre la base sql à jour au bout d'un certain temps ou lors de la fermeture du navigateur. Par contre si un utilisateur plante je pense que la base de données sql ne sera pas mise à jour autrement dit que son statut restera "en ligne". C'est pour ça que je me disais qu'il fallait plutôt un script côté serveur que côté client.
Pour asvoir qui est en ligne va voir de ce coté la ;)
https://www.developpez.net/forums/d139168/php/langage/savoir-personne-ligne/
Par contre pour ton autre problème, je n'ai pas de solutions a te proposer ...
A mon avis tu sera obligé de passer par de l'ajax ...
https://www.developpez.net/forums/d139168/php/langage/savoir-personne-ligne/
Par contre pour ton autre problème, je n'ai pas de solutions a te proposer ...
A mon avis tu sera obligé de passer par de l'ajax ...
nikel le lien, j'avais pas pensé à stocker l'heure dans la base de donnée
donc chaque fois qu'un membre se connecte je mets le champ "online" à 1 et je stocke l'heure, chaque fois qu'il charge une page je mets l'heure à jour, et quand quelqu'un d'autre essaie de vérifier s'il est en ligne il devra vérifier l'heure en plus de vérifier le champ "online"
et quand j'aurai vu le javascript je pourrai faire un script qui met l'heure à jour tous les x temps tant que l'utilisateur garde sa fenêtre ouverte
parfait, merci beaucoup
donc chaque fois qu'un membre se connecte je mets le champ "online" à 1 et je stocke l'heure, chaque fois qu'il charge une page je mets l'heure à jour, et quand quelqu'un d'autre essaie de vérifier s'il est en ligne il devra vérifier l'heure en plus de vérifier le champ "online"
et quand j'aurai vu le javascript je pourrai faire un script qui met l'heure à jour tous les x temps tant que l'utilisateur garde sa fenêtre ouverte
parfait, merci beaucoup