IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topicStart Poll

En ligne · [ Standard ] · Linéaire+

> Des SĂ©maphores En Php ?

Ryle
post 24/10/2002 7:49
Message #1


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Je voudrais savoir si c'est possible de faire en sorte qu'un script PHP ne puisse s'effectuer que pour une seule personne en mĂȘme temps.
J'avais oublié de préciser : j'utilise PHP sous Windows.
Merci

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Guepi
post 24/10/2002 8:33
Message #2


Troll
*****

Groupe : Membres
Messages : 4,831
Inscrit le : 23/06/2002 23:00
Lieu : Ronchin, Nord, France
Membre no. 75



Euh quel intĂ©rĂȘt ? blink.gif


--------------------
Le racisme est un crime, pas une opinion !
Extrait d'un tag sur un mur...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 8:39
Message #3


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Ajouter des trucs dans une table, rĂ©cupĂ©rer l'id du dernier truc entrĂ©, se resservir de cet id pour faire une autre requĂȘte.
Pb :
user1 ajoute son truc
user2 ajoute son truc
user1 demande le dernier id => il rĂ©cupĂšre celui gĂ©nĂ©rĂ© par la requĂȘte de user2 => pas bon

VoilĂ 

Ce que je veux faire c'est :
user1 crée un sémaphore
Il rĂ©alise les opĂ©rations souhaitĂ©es (ajout,recherche de l'id , requĂȘte avec cet id)
Tant qu'il n'a pas débloqué le sémaphore, personne ne peut entrer dans la portion de code protégée par ce sémaphore

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Peter Pan
post 24/10/2002 8:54
Message #4


Administrateur
*****

Groupe : Admin
Messages : 3,026
Inscrit le : 16/05/2002 23:00
Lieu : Paris
Membre no. 1



Ben je sais pas, tu initialises un champ dans la base à 0 qui passe à 1 quand un utilisateur entre dans la procédure, et un test if machin = 1 qui affiche un message à l'utilisateur 2 demandant d'attendre 5 secondes et qui fait un refresh ensuite (évidemment aprÚs avoir repassé à 0 la variable machin à la fin de a procédure).

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 8:58
Message #5


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Oui c'est vrai c'est une solution, mais c'est pas trĂšs propre.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Peter Pan
post 24/10/2002 9:04
Message #6


Administrateur
*****

Groupe : Admin
Messages : 3,026
Inscrit le : 16/05/2002 23:00
Lieu : Paris
Membre no. 1



C'est clair laugh.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
PoP
post 24/10/2002 9:18
Message #7


ragondin interstellaire
*****

Groupe : Membres
Messages : 3,059
Inscrit le : 16/05/2002 23:00
Lieu : DTC, au fond Ă  gauche
Membre no. 8





--------------------
PoP
"Consommez malin, consommez du ragondin!"
user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 9:25
Message #8


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Merci pour tes liens Pop mais j'y suis déjà allé, ces fonctions ne fonctionnent pas sous Windows, et c'est bien là mon problÚme.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Arsenik_
post 24/10/2002 9:26
Message #9


Empoisonneuse
*****

Groupe : Membres
Messages : 8,005
Inscrit le : 16/05/2002 23:00
Lieu : Loudun
Membre no. 24



a propos de PHP je souhaite m'y mettre mais je n'ai aucune idée de ce que je peux faire avec ..... (mis a part un forum par exemple happy.gif )
Vous pourriez pas me donnez des pistes siouplé marfi


--------------------
user posted image" Le plutonium peut nuire pendant des millénaires, mais l'arsenic est eternel" user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 9:42
Message #10


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



PHP, c'est fait pour faire des sites Web.
AprĂšs dans un site Web, tu peux y faire ce que tu veux.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
PoP
post 24/10/2002 10:08
Message #11


ragondin interstellaire
*****

Groupe : Membres
Messages : 3,059
Inscrit le : 16/05/2002 23:00
Lieu : DTC, au fond Ă  gauche
Membre no. 8



Mmm, je sais pas ce que ça vaut, mais peut-ĂȘtre qu'en te faisant un module de gestion de sĂ©maphores maisons tu peux rĂ©soudre le pb. Moi j'utiliserai un fichier properties pour y mettre mes semaphores et leur Ă©tat, pas la base.
user posted image

Mais bon, php c'est pas mon méga domaine de compétences donc je ne sais pas trop! smile.gif


--------------------
PoP
"Consommez malin, consommez du ragondin!"
user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Arsenik_
post 24/10/2002 10:08
Message #12


Empoisonneuse
*****

Groupe : Membres
Messages : 8,005
Inscrit le : 16/05/2002 23:00
Lieu : Loudun
Membre no. 24



QUOTE (Ryle @ 24/10/2002 10:42)
PHP, c'est fait pour faire des sites Web.
AprĂšs dans un site Web, tu peux y faire ce que tu veux.

ah bon je croyais que c'etait pour tondre la pelouse le PHP ..... tongue.gif
Appel moi blonde aussi blink.gif

Non mais ca je sais bien que c'est pour le web mais ce que je veux dire c'estq ue je ne sais pas par ou commencer a part le celebre "hello world" ou infophp .....



--------------------
user posted image" Le plutonium peut nuire pendant des millénaires, mais l'arsenic est eternel" user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 10:13
Message #13


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Pop > ouais je crois que bien que c'est ce que je vais faire, utiliser un fichier car visiblement y a pas de modules déjà dispo pour le faire et j'ai pas trop le temps de me pencher sur la création d'un.

Sinon, Arsenik, essaie de faire un forum, un module d'actualités, une mailing liste,... Je disais pas ça pour te vexer hein.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
RICO
post 24/10/2002 10:19
Message #14


Donut ambulant
****

Groupe : Membres
Messages : 1,101
Inscrit le : 03/07/2002 23:00
Lieu : Creil
Membre no. 87



A priori, la premiere solution qui me vient a l'esprit est un module connecté en permanence au serveur tant que la page est ouverte (p2p). Pour ca je vois bien un applet java. Enfin question developpement de la chose, c'est une autre paire de manches.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Guepi
post 24/10/2002 10:20
Message #15


Troll
*****

Groupe : Membres
Messages : 4,831
Inscrit le : 23/06/2002 23:00
Lieu : Ronchin, Nord, France
Membre no. 75



un fichier de lock ( Ă  Ă©crire )

ou sinon, un fichier qui génÚre le fichier qui t'intéresse, et qui utilise l'identifiant de session pour accéder au dit fichier

index.php génÚre : truc.php
celui qui passe sur index.php recoit un id de session, qui permet d'utiliser truc.php ...


--------------------
Le racisme est un crime, pas une opinion !
Extrait d'un tag sur un mur...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 10:36
Message #16


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



L'applet java ouais mais non car pas le temps de réaliser ce genre de développement.
Qu'est ce que t'entends par p2p (peer to peer) ?
En fait la page , une fois ouverte, n'a plus besoin du systĂšme de verrouillage car les 2 3 requĂȘtes s'exĂ©cutent au dĂ©but de la page , je n'ai pas besoin de bloquer la page tant qu'elle est ouverte.

Sinon pour les variables de session , j'y ai bien pensé mais je crois que je préfÚre la solution du fichier, ça évite de surcharger la base avec des infos pas si utiles car je ne me sers pas des variables de session dans le reste du site.
AprÚs se pose le pb des accÚs concurrents au fichier icon_evil.gif mais il me semble que ça PHP le gÚre en natif.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Guepi
post 24/10/2002 10:55
Message #17


Troll
*****

Groupe : Membres
Messages : 4,831
Inscrit le : 23/06/2002 23:00
Lieu : Ronchin, Nord, France
Membre no. 75



Sinon, tu es sur quelle version de base de données ?

Tu pourrais utiliser le principe des transactions...
http://www.mysql.com/doc/en/InnoDB_transac...tion_model.html


--------------------
Le racisme est un crime, pas une opinion !
Extrait d'un tag sur un mur...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 11:10
Message #18


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



C'est pas du Mysql, j'utilise une liaison ODBC qui pointe sur une base Access.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
RICO
post 24/10/2002 12:10
Message #19


Donut ambulant
****

Groupe : Membres
Messages : 1,101
Inscrit le : 03/07/2002 23:00
Lieu : Creil
Membre no. 87



ryle> Une architecture typique Clients/Serveur via Java, c'est a mon avis une solution pratique de remettre Ă  jour en permanence les informations et de controler les actions clients.
Mais c'est certain que le temps de developpement d'un applet peut etre rebuttant selon la complexité.



--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 13:03
Message #20


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Ouais et j'ai pas beaucoup de temps. Faudrait que tout soit bouclé pour demain soir.
En fait c'est pour faire un forum, pour ajouter un sujet et le premier message attaché.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Darhf
post 24/10/2002 18:47
Message #21


Goule
****

Groupe : Membres
Messages : 828
Inscrit le : 17/05/2002 23:00
Lieu : Toulouse.gif
Membre no. 38



ah wink.gif

t'as beaucoup beaucoup plus simple biggrin.gif

j'imagine t'as une variable qui contient la date/heure ou timestamp de l'envoi du post (admettons $date), que tu insĂšres dans un champ de ta table des sujets, puis une qui a le titre du sujet et l'auteur du sujet.

tu inseres ta ligne dans ta table des sujets, puis tu fais une requete basée sur la date/heure d'insertion, le nom et le titre pour récupérer l'id biggrin.gif


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ryle
post 24/10/2002 19:23
Message #22


Elfe
****

Groupe : Membres
Messages : 2,282
Inscrit le : 16/05/2002 23:00
Lieu : .gif
Membre no. 10



Bon finalement je passe par un flock sur un fichier vide, qui sert donc de sĂ©maphore . Ta solution n'est pas secure Ă  100%.Imagine que deux personnes mettent le mĂȘme message, avec le mĂȘme nom Ă  la mĂȘme heure...
Bon c'est clair que c'est peu probable, mais je préfÚre un truc béton.
En fait je couple le flock sur le fichier (normalement 100% fiable) avec une requĂȘte sur nom date message et titre.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicTopic OptionsStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :
 

Version bas débit Nous sommes le : : 28/04/2024 21:04