Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2836 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire un bon system de session?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Comment faire un bon system de session?

n°559763
hankmoon
Posté le 05-11-2003 à 15:11:48  profilanswer
 

Bonjour a tous,
J'aimerais faire sur mon site un system de session qui me permettrais d'afficher sur mon menu a gauche toute les personnes actuellement connecte a mon site. Malheureusement je n'arrive pas a trouver un system efficace... avez vous une solution?
 
ps: savez vous comment fait PHPBB pour leurs forums?

mood
Publicité
Posté le 05-11-2003 à 15:11:48  profilanswer
 

n°560195
hankmoon
Posté le 05-11-2003 à 19:58:41  profilanswer
 

je vois que personne ne veut repondre ... merci les gars

n°560307
leplusapte
mange le son
Posté le 05-11-2003 à 21:20:59  profilanswer
 

c tro long a expliquer
va sur  http://az-php.com/?p=cours_23

n°560380
hankmoon
Posté le 05-11-2003 à 22:19:15  profilanswer
 

j'ai deja vu ce site mais le prob c'est que je ne peux pas savoir si les autres sont connecté avec ce system.... vous voyez ce que je veux dire?

n°560390
gizmo
Posté le 05-11-2003 à 22:24:10  profilanswer
 

ils stockent simplement les personnes connectées dans une table.

n°560393
hankmoon
Posté le 05-11-2003 à 22:25:55  profilanswer
 

Oui c'est ce que je me suis dit mais le prob c'est de savoir quand on doit les considerer comme deconnecte... parce que avec phpbb des que les mec sort du forum... c'est mis de suite a jour... c'est ca que je capte pas trop... vous avez pas une idee?

n°560396
gizmo
Posté le 05-11-2003 à 22:28:05  profilanswer
 

non, c'est pas mis à jour de suite, c'est réactualisé en fonction d'un timeout que tu décides à chaque rafraichissement de la page.

n°560776
hankmoon
Posté le 06-11-2003 à 12:10:48  profilanswer
 

D'accord alors imaginons que le time out est tres court comme ca des que le gars se deco, on le remarque tres rapidement... ca veut dire aussi que s'il reste longtemps sur une page il sera alors considere comme deco .. non?
Hors sur phpbb il n'est pas considere comme deco.... probleme... comment ils font?

n°560782
Kristoph
Posté le 06-11-2003 à 12:35:11  profilanswer
 

Hankmoon a écrit :

D'accord alors imaginons que le time out est tres court comme ca des que le gars se deco, on le remarque tres rapidement... ca veut dire aussi que s'il reste longtemps sur une page il sera alors considere comme deco .. non?
Hors sur phpbb il n'est pas considere comme deco.... probleme... comment ils font?


 
Ils mettent un timeout très long ?

n°560785
Mara's dad
Yes I can !
Posté le 06-11-2003 à 12:37:19  profilanswer
 

Regarde le code de PHPBB !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 06-11-2003 à 12:37:19  profilanswer
 

n°560787
Mara's dad
Yes I can !
Posté le 06-11-2003 à 12:38:56  profilanswer
 

Idée :
 
Timeout court + frame cachée qui se rafraichie souvent.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°560794
hankmoon
Posté le 06-11-2003 à 12:46:20  profilanswer
 

ben je pense pas sinon ca marcherai pas.... ya une incoherence la...

n°560797
hankmoon
Posté le 06-11-2003 à 12:48:52  profilanswer
 

le code de phpbb est completement inconprehensible.... si vous avez deja regarde...
le prob de la frame cacher c'est que ca prend des ressources... et visiblement ils n'utilisent pas ca... puisqu'il faut rafraichier la page pour voir les changements...

n°560855
Mara's dad
Yes I can !
Posté le 06-11-2003 à 14:13:59  profilanswer
 

Je parle d'une frame cachée qui ne fait rien d'autre que se rafraichir. Elle ne permet de pas de montrer les changements, mais juste de garder la session ouverte.
Je n'ai pas dis que c'était ce qu'utilise phpbb !
J'ai jamais regardé le code de phpbb, je ne m'interesse pas au forums pour le moments ;)
M'enfin je vais jetter un oeuil, des fois qu'il y ait une techinque interessante.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°561017
gizmo
Posté le 06-11-2003 à 16:19:00  profilanswer
 

:sarcastic: vu que la table est rafraichie à chaque visite, rien ne vous empèche de réinitialiser le compteur pour la personne qui rafraichit la page.

n°561065
Mara's dad
Yes I can !
Posté le 06-11-2003 à 17:02:16  profilanswer
 

gizmo a écrit :

:sarcastic: vu que la table est rafraichie à chaque visite, rien ne vous empèche de réinitialiser le compteur pour la personne qui rafraichit la page.


Hein c'est possible çà :ouch:  
 
Ha, heu, ben oui en fait. C'est même de çà qu'on parle...
 
Bon, Hankmoon, j'ai regardé un peu phpbb, et y'a rien d'extraordinaire. Un simple timeout, pas de détection de déconnexion.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°561780
hankmoon
Posté le 07-11-2003 à 14:29:06  profilanswer
 

oki alors il se la font simple... a chaque connection il stock dans une base de donne avec un timeout et des que le time out est passe le gars est considere comme deco...
oki bon je fera ca alors...
merci les gars..

n°561781
hankmoon
Posté le 07-11-2003 à 14:29:38  profilanswer
 

Ha juste encore... le truc de la Iframe qui se rafraichi tout le temps.. c'est pas trop lourd au final sur le site?

n°561786
gizmo
Posté le 07-11-2003 à 14:32:36  profilanswer
 

mais pourquoi tu veux faire une frame? t'en a pas besoin!

n°561790
hankmoon
Posté le 07-11-2003 à 14:42:42  profilanswer
 

non c'etait juste une question, j'ai vu un site que avait fait une iframe et qui la rafraichissait toute les 15 sec... je me posait la question de savoir si c'etait pas trop lourd...

n°561809
Mara's dad
Yes I can !
Posté le 07-11-2003 à 15:19:06  profilanswer
 

gizmo a écrit :

mais pourquoi tu veux faire une frame? t'en a pas besoin!


Si tu te débrouille bien, c'est super light. Y'a quazi rien à envoyer, et sur le serveur y'a juste un update.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°561811
gizmo
Posté le 07-11-2003 à 15:25:02  profilanswer
 

c'est plus ligth de faire l'update au moment où le type rafraichit sa page volontairement ou navigue dans le site.

n°561858
Mara's dad
Yes I can !
Posté le 07-11-2003 à 16:18:40  profilanswer
 

Oui, bien sûr !
 
Le but est d'avoir un timeout de session très court, genre 30 secondes.
 
Donc si tu reste sur ta page sans rien faire, ben t'es toujours considéré comme connecté. Par exemple, tu apparais dans la liste des utilisateurs. Alors que si tu fermes le navigateur, tu disparais en 30 secondes.
 
Reste à voir si çà a une utilité, mais c'est une autre histoire.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°561866
Kristoph
Posté le 07-11-2003 à 16:33:03  profilanswer
 

Mara's dad a écrit :

Oui, bien sûr !
 
Le but est d'avoir un timeout de session très court, genre 30 secondes.
 
Donc si tu reste sur ta page sans rien faire, ben t'es toujours considéré comme connecté. Par exemple, tu apparais dans la liste des utilisateurs. Alors que si tu fermes le navigateur, tu disparais en 30 secondes.
 
Reste à voir si çà a une utilité, mais c'est une autre histoire.


 
Et tu marques comme connecté une personne qui a laissé ouvert en tache de fond son navigateur pendant 3 jours. Pas très fiable quoi :)

n°561890
emerout
Posté le 07-11-2003 à 17:02:18  profilanswer
 

phpBB doit tenir a jour une liste des personnes connectees, en enregistrant la date du dernier clic de chaque user.
Est considere comme deconnecte un user qui n'a pas clique depuis x minutes ...

n°561907
hankmoon
Posté le 07-11-2003 à 17:26:38  profilanswer
 

Et est ce que ca n'influence pas la page sur laquel on est ? parce que j'ai remarque qu'a chaque maj de cette iframe la page ramé... et personnelement ca donne pas bcp envie d'en faire une...

n°561962
gizmo
Posté le 07-11-2003 à 19:08:11  profilanswer
 

bah oui, c'est normal. Vu qu'il y a rechargement de la page, elle doit être redessinée, même s'il n'y a rien à afficher.

n°561988
emerout
Posté le 07-11-2003 à 20:07:18  profilanswer
 

Non, en phpBB, il n'y a pas d'IFRAME dans la page, c'est le dernier clic qui compte. et si au bout de 3 minutes tu n'as pas clicquer qque part c'est que vraisemblablement, tu es en train de faire autre chose ...

n°561997
orazur
Posté le 07-11-2003 à 20:32:04  profilanswer
 

ca a aucun rapport mais est-ce quil serait possible de faire un javascript qui ecrit dans un fichier quand qqun sen va du site
je mexplik : on dirait quon peut faire des action javascript quand la fenetre se ferme, et si on peut ecrire dans un fichier avec javascript(je suis pas sur) on pourrait imaginer le systeme de visiteurs online ultime, il suffirait de rajouter 1 quand qqun arrive sur le site, et denlever 1 quand il sen va..
c possible ¿

n°562006
Kristoph
Posté le 07-11-2003 à 20:47:40  profilanswer
 

Tu en connais beaucoup de javascript coté client qui écrit dans un fichier coté serveur ?

n°562018
orazur
Posté le 07-11-2003 à 21:46:27  profilanswer
 

Kristoph a écrit :

Tu en connais beaucoup de javascript coté client qui écrit dans un fichier coté serveur ?


 
ha vi chuis bete :(
mé alors ya pas moyen de faire un compteur de visiteur online qui marche pas quavec des approximations ?

n°562081
gizmo
Posté le 07-11-2003 à 23:47:07  profilanswer
 

non.

n°562480
Mara's dad
Yes I can !
Posté le 08-11-2003 à 19:54:04  profilanswer
 

Y'a un truc possible, mais c'est pas beau :
 
Quand on ferme le navigateur ou si on va sur un autre site, on ouvre une fenêtre sur une url de déconnexion.
Cette fenêtre se ferme toute seule quand elle est chargée.
 
Du coup le site sait quand quelqu'un est parti, ce qui n'empèche pas de gérer un timeout, par exemple pour le gars qui reste sur la fenêtre 3 jours, ou pour celui victime d'une coupure de courant ou plus souvent d'un plantange d'IE.
 
Mais comme je l'ai dis, c'est pas beau...
Il faudrait que les navigateurs puisse gérer autre chose que du GET/POST, mais c'est pas pour tout de suite (sauf avec un composant externe...)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°562482
gizmo
Posté le 08-11-2003 à 19:57:42  profilanswer
 

et encore, ton système ne marcherait que chez les personnes qui n'ont pas d'anti-pop-up ou le JS désactivé.

n°562805
Mara's dad
Yes I can !
Posté le 09-11-2003 à 15:16:24  profilanswer
 

Bon, j'ai essayé un truc :
 
Page dont on veux controler la deconnexion (index.html):

<html>
<head>
<script>
function deconnexion()
{
 document.body.innerHTML='<IFRAME src="deconnexion.php?id=25&userAgent=' + navigator.appName + '" width="1" height="1" scrolling="no" frameborder="0" style="display=none"></IFRAME>';
}
</script>
</head>
<body onunload="deconnexion();" onbeforeunload="deconnexion();">
Essai deconnexion par Iframe.
</body>
</html>


Page qui enregistre la deconnexion (deconnexion.php):

<?php
$f=fopen( 'deconnexion.txt', 'a' );
fwrite( $f, "id={$_GET['id']}, agent={$_GET['userAgent']}\r\n" );
fclose( $f );
?>


Résultat sur le serveur (deconnexion.txt) :

id=25, agent=Netscape
id=25, agent=Microsoft Internet Explorer


Cà marche pas à tous les coups, vu qu'on est pas trop cencé faire grand chose dans onUnload() ou dans onBeforeUnload(), mais c'est une piste.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°562903
omega2
Posté le 09-11-2003 à 20:11:58  profilanswer
 

Donc dès que tu changes de page, t'es considéré comme déconeccté avant de te reconecter. ;)
Mais si le navigateur à le javascript désactivé ou le navigateur qui se plante, le visiteur est toujours connecté.
De plus, si le gas reste pendant 3 jorus sur la page, c'est pareil. ;)

n°563020
Mara's dad
Yes I can !
Posté le 10-11-2003 à 10:24:52  profilanswer
 

1- Connexion, déconnexion, en fait c'est pas aussi important que çà. Il s'agit juste pour un forum de savoir qui est en ligne. Donc çà ne me choque pas. En plus, c'est qu'un démonstrateur, c'est un truc à désactiver si tu passe à une autre page du même forum (avec un flag par exemple...)
2- Il faut de toute façon un timeout. Voir posts plus haut.
3- Sans JS, on va pas bien loin sur le net aujourd'hui...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563021
gizmo
Posté le 10-11-2003 à 10:26:09  profilanswer
 

Mara's dad a écrit :


3- Sans JS, on va pas bien loin sur le net aujourd'hui...


euh...

n°563023
Mara's dad
Yes I can !
Posté le 10-11-2003 à 10:29:46  profilanswer
 


Je m'incline devant un tel argument.
 
Au fait, çà s'écrit Meuh :D
Enfin, les vaches de chez moi l'écrivent comme çà...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563025
urd-sama
waste of space
Posté le 10-11-2003 à 10:33:10  profilanswer
 

pourquoi vous voulez à tout prix lister les users à 5 sec près?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire un bon system de session?

 

Sujets relatifs
Variable de session invisibleProb de variables de session...
[PHP-NEWB] Probleme de session avec hébergement lycos[PHP] stocker un mot de passe dans une variable de session (en clair)
[Site Web] System de don ?[ASP] cookies vs session ?
Probleme de Session en Asp (PWS)pb session en register_global off
JSP - Session - Cookieappel system pour eteindre/fermer la session immediatement
Plus de sujets relatifs à : Comment faire un bon system de session?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)