kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010
-
27 déc. 2008 à 13:42
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010
-
27 déc. 2008 à 21:34
Bonjour,
Je travaille avec les sessions pour mon site afin de montrer les utilisateurs en ligne.
Donc lors de la connexion, j'applique une UPDATE sur la base de donnée, l'utilisateur est donc en ligne.
Le problème est pour la déconnexion ... si l'utilisateur ne se déconnecte pas manuellement, comment faire pour que la requête sql s'applique quand même ?
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 27 déc. 2008 à 14:17
Salut,
Plusieurs solutions.
Ce que je ferai :
Lors de la connexion, et de toutes les pages vues, UPDATE de la DB avec timestamp du dernier signe de vie.
Ensuite purge des enregistrements dont le timestamp est inférieur à XX secondes, initiée par les requêtes des autres visiteurs.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 27 déc. 2008 à 20:10
Salut,
@kopierreko = > tu n'es pas obligé de répéter ce que je venais d'écrire
Ton script ne fonctionnera pas correctement, nottament avec la $tt_s qui ne représente rien.
=>
<?php
session_start();
include('conf.php');
mysql_connect($host, $id, $psw);
mysql_select_db($bdd);
$id_m = $_SESSION['id'];
mysql_query("UPDATE membres SET co='0' WHERE id='$id_c'");
=> à quoi ça te sert de faire une requête pour marquer le membre en/hors ligne alors que tu disposes du timestamp ? Sauf à avoir 5000 membres sur ton site ça ne sert pas à grand chose.
$temps_deco '30';> ça fait un peu limite non ? J'aurai plutôt vu un 120 à la place. Bon, ok, ça dépend du type de site que tu as. Menfin franchement, si tu as ne serait ce que 20 lignes de texte, je serai déco avant d'avoir fini la lecture.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 27 déc. 2008 à 14:19
... tu n'es pas obligé de purger d'ailleurs, mais tu affiches seulement les membres avec un timestamp < XX sec. Menfin tout ça est à adapter à ta structure.
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 27 déc. 2008 à 14:19
...je ne sais pas exactement comme ta BDD est structurée mais tu peux faire le tout avec un timestamp et ne prendre en compte que les entrées récentes, et par ex. considèrer que l'utilisateur n'est plus en ligne après une inactivitée de 15min...
Si tu pouvais détailler un peux je pourrais peut-être en dire plus.
Bonne journée
<hr size="2" width="100%" />Some Geek: Tous les programmeurs sont des brutes, [...] ils violent chaque ligne, chaque language [...] et n'on aucun goût pour la beauté de ./sh
Pysco68:
Vous n’avez pas trouvé la réponse que vous recherchez ?
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010 27 déc. 2008 à 21:34
J'ai mis 5 minutes pour la déco( j'avais mis là la version de test ).Très franchement, je n'ai pas l'habitude d'utiliser les timestamp et c'est pour ça que je travaille en secondes ^^
Merci beaucoup pour cette aide
Bye