Des SĂ©maphores En Php ?
Bienvenue invité ( Connexion | Inscription )
Des SĂ©maphores En Php ?
Ryle |
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 |
Guepi |
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 ?
-------------------- Le racisme est un crime, pas une opinion !
Extrait d'un tag sur un mur... |
Ryle |
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 |
Peter Pan |
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).
|
Ryle |
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.
|
Peter Pan |
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
|
PoP |
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 |
Des éléments de réponse ici?
http://php.benscom.com/manual/en/ref.sem.php http://php.benscom.com/manual/fr/ref.sem.php -------------------- PoP
"Consommez malin, consommez du ragondin!" |
Ryle |
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.
|
Arsenik_ |
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 )
Vous pourriez pas me donnez des pistes siouplé marfi -------------------- " Le plutonium peut nuire pendant des millénaires, mais l'arsenic est eternel"
|
Ryle |
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. |
PoP |
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.
Mais bon, php c'est pas mon méga domaine de compétences donc je ne sais pas trop! -------------------- PoP
"Consommez malin, consommez du ragondin!" |
Arsenik_ |
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 |
ah bon je croyais que c'etait pour tondre la pelouse le PHP ..... Appel moi blonde aussi 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 ..... -------------------- " Le plutonium peut nuire pendant des millénaires, mais l'arsenic est eternel"
|
||
Ryle |
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. |
RICO |
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.
-------------------- |
Guepi |
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... |
Ryle |
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 mais il me semble que ça PHP le gĂšre en natif. |
Guepi |
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... |
Ryle |
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.
|
RICO |
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é. -------------------- |
Ryle |
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é. |
Darhf |
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
t'as beaucoup beaucoup plus simple 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 -------------------- |
Ryle |
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. |
Version bas débit | Nous sommes le : : 04/05/2024 10:19 |