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

  FORUM HardWare.fr
  Programmation
  PHP

  Sessions / liste de connectés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sessions / liste de connectés

n°597683
thwz
quoi mon pseudo imprononçable?
Posté le 27-12-2003 à 21:32:14  profilanswer
 

Je suis actuellement en train de réaliser un site web. J'ai commencé à faire l'architecture principale, c'est  à dire:
- le systeme de news
- la liste des membres
- la liste des connectés
 
Pour la liste des connectés, j'ai pensé évidemment aux sessions php, mais je ne les avais jamais utilisées  avant... en fait, les tutoriaux que j'ai lus sur differents sites etaient toujours différents et expliquaient  les choses différemment. J'ai donc eu du mal à comprendre.... En fait ce que je cherche c'est un exemple  concret de sessions php. C'est à dire un morceau de code qui montre le processus d'identification... Je sais  que beaucoup de webmasters fréquentent cette cat... Y en a-t-il un qui aurait la générosité de me passer un  bout de code pour que je vois exactement comment faire? Ou alors connaissez-vous un script bien fait, et  compréhensible facilement et expliqué? J'ai déjà cherché... aucun script ne me convenait...
 
Merci

mood
Publicité
Posté le 27-12-2003 à 21:32:14  profilanswer
 

n°597688
MagicBuzz
Posté le 27-12-2003 à 21:38:35  profilanswer
 

je sais pas comment marchent les session en PHP, mais en partant du principe que c'est comme en ASP, tu peux pas passer par les sessions pour faire ça... ou du moins ça sera bien plus compliqué que ça.

n°597691
MagicBuzz
Posté le 27-12-2003 à 21:41:58  profilanswer
 

Grossomodo, en ASP, une solution utilisant les session constiste à faire ça sur les évènements de session :
 


 Sub Session_OnStart
  set cnx = server.CreateObject("ADODB.Connection" )
  cnx.Open application("connectionString" )
  cnx.execute "insert into list_users (SessionID, page) values (" & session.SessionID & ", 'home')"
  cnx.close
  set cnx = nothing
 End Sub
 
 Sub Session_OnEnd
  set cnx = server.CreateObject("ADODB.Connection" )
  cnx.Open application("connectionString" )
  cnx.execute "delete list_user where sessionID = " & session.SessionID
  cnx.close
  set cnx = nothing
 End Sub


 
Puis dans chaque page :
 


  set cnx = server.CreateObject("ADODB.Connection" )
  cnx.Open application("connectionString" )
  cnx.execute "update list_user set page = 'LaPageEnCours' where sessionID = " & session.SessionID
  cnx.close
  set cnx = nothing


 
Pas terrible, mais c'est une solution qui fonctionne bien.

n°597704
thwz
quoi mon pseudo imprononçable?
Posté le 27-12-2003 à 21:55:14  profilanswer
 

j'ai pas du tout compris pour l'exmple ASP, et si, je crois, il faut passer par les sessions. j'ai oublié de préciser que si le connecté a un compte et est identifié, on devrait pouvoir le voir apparaitre dans la liste des connectés, je ne veux pas un simple compteurs de visiteurs online

n°597706
MagicBuzz
Posté le 27-12-2003 à 22:09:51  profilanswer
 

mon truc est pas un compteur. il met à jours une table dans laquelle il y a tous les utilisateurs connectés et les pages où ils sont actuellement.
 
le scope des sessions s'arrête à la session elle-même.
 
c'est à dire qu'une personne ne peux pas aller voir ce qu'il se passe dans les sessions des autres utilisateurs, c'est le b-a-ba de la sécurité. donc les sessions seules ne peuvent pas suffir. à moins que php le permette, mais j'en doute, c'est un trou de sécurité énorme.


Message édité par MagicBuzz le 27-12-2003 à 22:10:16
n°597759
gizmo
Posté le 28-12-2003 à 00:05:27  profilanswer
 

en php, c'est pareil, on utilise aussi ce système.

n°598070
ethernal
Chercheur de vérité...
Posté le 28-12-2003 à 19:56:15  profilanswer
 

en optimisant:
1ère connexion:
création d'une session  et stockage du [login], ip, page en cours dans les vars de session.
enregistrement dans une table (pour avoir pouvoir lister les visiteurs en cours) : [login], page en cours
 
autre pages :  
regarder si ip identique dans la var de session (précaution...), sinon détruire la session et en créer une nouvelle + update table.
regarder si page différente, updater table.
 
ça évite de faire travailler le serveur db inutilement


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

  Sessions / liste de connectés

 

Sujets relatifs
[C] Passer une liste variable d'arguments en entrée/sortie[C++] implémentation d'une classe générique (liste chainée)
[PHP] Fiabilité des sessionsrécupérer une liste de connexions réseau ?
Existe-t-il une liste de tout les codes erreurs générés par MySQL?liste chainée en c ?
Griser 2 champs d'un formulaire par rapport au choix dans une liste :orécupération des données d'une liste en php
Sessions sous freetimer variable de sessions!
Plus de sujets relatifs à : Sessions / liste de connectés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR