Jezzuz
30.08.2007, 18:01:03
Hallihallo , folgendes Problemchen ...
Habe mit PHP / MySQL ein Programm zum Verwalten von Adressen geschrieben.
Habe versucht durch ein Sperrflag multiplen Zugriff azf ein und den selben Datensatz zu verhidnern :
Benutzer A fordert DS an : DS1 bekommt Sperrflag.
Benutzer B fordert DS an : Würde theoretisch durch eine mathematische Funktion DS1 bekommen, bekommt stattdessen DS2, weil DS1 ein Sperrflag gesetzt hat.
Das Flag hab ich natürlich mit einem Eintrag im Datensatz realisiert.
Das ganze funktioniert auch hervorragend, bis auf den Fall wenn 2 User exakt gleichzeitig einen neuen Datensatz anforden. Sieht so aus, als würde aus Laufzeitgründen das Flag nicht schnell genug gesetzt werden, und somit landen dann beide auf DS1, was natürlich zu tiereischen weiteren Problemen führt.
Mein Lösungsansatz: Es müsste doch für die php.ini ein Kommando geben, das quasi die komplette Abhandlung eines ClientScripts vorraussetzt um mit dem nächsten weiterzumachen. So oder so ähnlich , so dass User1 sein Flag in Ruhe setzten kann bevor DS's anforderung überhaupt eingeht.
Habe leider nix im Manual gefunden : (
Vielen Dank schon mal fürs grübeln ....
Robert
Habe mit PHP / MySQL ein Programm zum Verwalten von Adressen geschrieben.
Habe versucht durch ein Sperrflag multiplen Zugriff azf ein und den selben Datensatz zu verhidnern :
Benutzer A fordert DS an : DS1 bekommt Sperrflag.
Benutzer B fordert DS an : Würde theoretisch durch eine mathematische Funktion DS1 bekommen, bekommt stattdessen DS2, weil DS1 ein Sperrflag gesetzt hat.
Das Flag hab ich natürlich mit einem Eintrag im Datensatz realisiert.
Das ganze funktioniert auch hervorragend, bis auf den Fall wenn 2 User exakt gleichzeitig einen neuen Datensatz anforden. Sieht so aus, als würde aus Laufzeitgründen das Flag nicht schnell genug gesetzt werden, und somit landen dann beide auf DS1, was natürlich zu tiereischen weiteren Problemen führt.
Mein Lösungsansatz: Es müsste doch für die php.ini ein Kommando geben, das quasi die komplette Abhandlung eines ClientScripts vorraussetzt um mit dem nächsten weiterzumachen. So oder so ähnlich , so dass User1 sein Flag in Ruhe setzten kann bevor DS's anforderung überhaupt eingeht.
Habe leider nix im Manual gefunden : (
Vielen Dank schon mal fürs grübeln ....
Robert