Wunschliste
nam
- programmiertechnik
1 Frank (no reg)0 Felix Riesterer
0 Tom0 nam
Hallo
Ich bastele soeben an einer Wunschliste herum. Besucher der Wesite können ihren Namen eintragen und einen Gegenstand, den sie schenken möchten, aus einer Drop-Down-Liste auswählen,auf absenden klicken und erhalten dann eine Bestätigung.
Serverseitig wird die Drop-Down-Liste aus den Einträgen aus einer SQLite-DB zusammengesetzt. "Schenkt" ein Besucher einen Gegenstand, wird sein Name in die DB eingetragen und der entsprechende Gegenstand wird bei künftigen Aufrufen nicht mehr aufgelistet.
Jetzt besteht die Gefahr, das zwei Personen unabhängig voneinander die Seite gleichzeitig öffnen. Die eine schenkt zuerst was, die zweite bekommt davon aber nichts mit und hat eine nicht aktuelle Drop-Down-Liste im Browser.
Dieses oder ähnliche Probleme dürften ja wohl häufig sein. Wie sieht die SOP in so einem Fall aus?
Danke und Gruss,
Mathias
Hi,
du stellst beim Eintragen fest, ob der Gegenstand schon "verschenkt" wurde und zeigst dem 2. oder 423. Benutzer (welcher zu spät kam) dasselbe Formular nochmals mit aktualisierten Daten an und einem Hinweis à la "Pech gehabt".
Ciao, Frank
Liebe(r) nam,
das ist eine typische Race Condition. Deswegen müsstest Du einen locking-Mechanismus irgendwo haben (keine Ahnung ob das SQLite schon macht).
Jedenfalls wird Dein Script nach dem Absenden der Daten prüfen müssen, ob bereits ein Eintrag diesem Schenkungsgegenstand zugeordnet wurde, um in diesem Falle eine aktualisierte Auswahl mit einer "Fehlermeldung" zurückzugeben.
Liebe Grüße,
Felix Riesterer.
Hello,
Dieses oder ähnliche Probleme dürften ja wohl häufig sein. Wie sieht die SOP in so einem Fall aus?
echo "Pech gehabt, der Gegenstand (...) den Sie schenken wollten, war schon vergeben"
"Bitte versuchen Sie es nochmal"
:-)
Oder was wolltest Du wissen?
Update geschenke
set schenker = sterilisiere(post(schenker))
where geschenk = sterilisiere(post(geschenk)) and schenker = '' or schenker = NULL;
get affected rows
if ...
(pseudocode)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi
Danke euch allen.
Ich dachte, es gäbe vielleicht eine elegantere Lösung.
Gruss,
Mathias