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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Un seul utilisateur par page...?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Un seul utilisateur par page...?

n°1099115
ptibat
Posté le 27-05-2005 à 10:05:20  profilanswer
 


Bonjour à tous,
 
Je suis actuellemet dans le développement d'un site. Sur la page d'accueil, l'utilisateur se connecte et selon son "type de compte" à accès a telle ou telle page. Cependant, je cherche un moyen de n'autoriser qu'un seul utilisateur à être dans une page.
 
Exemple :
 
- Un utilisateur "jean" se connecte,
- il va sur la page pour modifier une info dans la base de données.
- "pierre", un autre utilisateur se connecte lui aussi,
- lui aussi veut modifier des infos dans la base mais comme "jean" est déjà dans cette page, il ne peut y acceder et attend sont tour.
En gros c'est un peut comme lorsque l'on veut ouvir un fichier office et qu'il est déjà en utilisation...
 
 
Par quelle méthode puis-je réaliser celà ? :??:
 
Merci :jap:
 


---------------
flick r
mood
Publicité
Posté le 27-05-2005 à 10:05:20  profilanswer
 

n°1099134
benamoubea​ch
tivuplai
Posté le 27-05-2005 à 10:15:43  profilanswer
 

Ce que tu peux faire c ke tu crées une table historique avec l'identifiant du pseudo, et sa derniere page vu, ainsi que l'heure a laquelle il l'a vu . Quand un mec va sur une page, tu changes la derniere page vue ainsi que la date . Quand un autre veut venir sur cette page, si personne ds la base n'a vu cette page la , c bon . Si qqn a cette page comme derniere page mais disons que la date remonte a + de 3 minutes, on considères qu'il n'est plus sur la page et donc le 2eme peut y acceder. Sinon, il est redirigé vers une page d'attente . T'as compris ? :s

n°1099135
soju
One shot !
Posté le 27-05-2005 à 10:15:46  profilanswer
 

par exemple avec un identifiant unique par page + système de lock géré soit dans ta base soit dans un fichier

n°1099143
Berceker U​nited
PSN : berceker_united
Posté le 27-05-2005 à 10:19:45  profilanswer
 

j'apporte ma contribution.
Un systeme binaire sur chaque fichier. Quand quelqu'un rentre dans une page cette page est sur un état O/1 et si quelqu'un d'autre rentre dans cette il regarde l'état de cette page et se fait jeter. Si la personne change de page il faut revenir l'état de la page a l'initiale.

n°1099150
cesarr89
Posté le 27-05-2005 à 10:24:10  profilanswer
 

Berceker United a écrit :

j'apporte ma contribution.
Un systeme binaire sur chaque fichier. Quand quelqu'un rentre dans une page cette page est sur un état O/1 et si quelqu'un d'autre rentre dans cette il regarde l'état de cette page et se fait jeter. [b][/b]Si la personne change de page il faut revenir l'état de la page a l'initiale.[/b]


 
Et si la personne plante pendant la navigation? La page reste à 1 alors que y'a personne dessus

n°1099151
JohnMeurt
Posté le 27-05-2005 à 10:24:20  profilanswer
 

J'ai le meme probleme, me suis pose dessus et j'ai rien mis en place... voila si ca peut t'aider.
 
Tiens ils debatent sur le sujet, c'est assez explicite
 
http://groups.google.fr/group/fr.c [...] bf57520fae

n°1099161
ptibat
Posté le 27-05-2005 à 10:28:58  profilanswer
 


 

soju a écrit :

par exemple avec un identifiant unique par page + système de lock géré soit dans ta base soit dans un fichier


Berceker United a écrit :

j'apporte ma contribution.
Un systeme binaire sur chaque fichier. Quand quelqu'un rentre dans une page cette page est sur un état O/1 et si quelqu'un d'autre rentre dans cette il regarde l'état de cette page et se fait jeter. Si la personne change de page il faut revenir l'état de la page a l'initiale.


 
 
En fait j'avait pensé à modifier un champs dans la base de données "1" ou "0", "1" quand l'utilisateur ouvre la page et "0" quand il a modifier l'information. Ca c'est pour "la procédure qui va bien" mais si l'utilisateur ne modifie rien, ferme son navigateur ou quitte le site, l'état restera à "1" ...
 
 

benamoubeach a écrit :

Ce que tu peux faire c ke tu crées une table historique avec l'identifiant du pseudo, et sa derniere page vu, ainsi que l'heure a laquelle il l'a vu . Quand un mec va sur une page, tu changes la derniere page vue ainsi que la date . Quand un autre veut venir sur cette page, si personne ds la base n'a vu cette page la , c bon . Si qqn a cette page comme derniere page mais disons que la date remonte a + de 3 minutes, on considères qu'il n'est plus sur la page et donc le 2eme peut y acceder. Sinon, il est redirigé vers une page d'attente . T'as compris ? :s


 
Oui j'ai a peu pres compris.  
Je vais essayer un trucs avec l'heure et un time out...
 
 


---------------
flick r
n°1099170
Berceker U​nited
PSN : berceker_united
Posté le 27-05-2005 à 10:34:59  profilanswer
 

cesarr89 a écrit :

Et si la personne plante pendant la navigation? La page reste à 1 alors que y'a personne dessus


Utilisation d'un variable de session, tu peux détecter si elle est utilisé ou pas via le session_id.

n°1099185
JohnMeurt
Posté le 27-05-2005 à 10:41:41  profilanswer
 

Moi j opte pour l'utilisation d un timer, un peu lourd a gerer, mais il gere tous les cas de figure.
 
A la connexion du met a jour ton timer, que tu remet a chaque page.
 
Le client ferme sa session tu tu enregistre ton timer a bonne vieil date (jusque la classic)
 
Si un utilisateur demande la connexion, il se fait jeter par le timer
 
En cas de fermeture du browser, ou deconnexion, il ne pourra pas se connecter tant que le timer sera pas ecoule, c'est le hic, a toi d'ajuster le timer (moi c'est pour ca que j'ai pas mis en place cette methode)
 
Le session_id aidera pas, mettre a jour un booleen dans la bdd, ne gere pas les deconnexions....  
si ca t inspire

n°1099190
cesarr89
Posté le 27-05-2005 à 10:43:57  profilanswer
 

JohnMeurt a écrit :

Moi j opte pour l'utilisation d un timer, un peu lourd a gerer, mais il gere tous les cas de figure.
 
A la connexion du met a jour ton timer, que tu remet a chaque page.
 
Le client ferme sa session tu tu enregistre ton timer a bonne vieil date (jusque la classic)
 
Si un utilisateur demande la connexion, il se fait jeter par le timer
 
En cas de fermeture du browser, ou deconnexion, il ne pourra pas se connecter tant que le timer sera pas ecoule, c'est le hic, a toi d'ajuster le timer (moi c'est pour ca que j'ai pas mis en place cette methode)
 
Le session_id aidera pas, mettre a jour un booleen dans la bdd, ne gere pas les deconnexions....  
si ca t inspire


 
+1
 


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

  [PHP] Un seul utilisateur par page...?

 

Sujets relatifs
[PHP] probleme avec la fonction sleep()appeler une methode javascript d'une page principale depuis un popup
regexp :trouver les balises et meme celles avec des balises PHP dedansModifier la valeur d'une balise selon l'adresse de la page
Probleme de lien en PHPWord & Easy-PHP 1.8 ?
probleme XML avec PHP DOMXML[shell] script pour recuperer le contenu d'une page web.
Probleme sur les sessions PHPNe pas afficher ce que l'utilisateur tape
Plus de sujets relatifs à : [PHP] Un seul utilisateur par page...?


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