Pit: Per JS/Ajax auf mysql zugreifen oder wie löst man sowas?

Beitrag lesen

Hi dedlfix,

Ich will eigentlich erst beim absenden des Formulars prüfen.

Dann lohnt es sich auch nicht mehr. Da kannst du gleich einen normalen Request nehmen und dessen Antwort anzeigen. Kommt quasi aufs selbe raus.

Ich weiß, was Du meinst. Da mein Formular aber ein Dialogfenster ist, macht es in meinem Fall doch noch einen kleinen Sinn. Zudem sende ich (wenn auch nicht viel) weniger Daten im Falle eines Konflikts.

Alternativ schreibst du eine SPA (Single Page Application), da kann dann der Submit ein Ajax-Request sein und die Antwort wird in die Seite eingebaut.

Aber so wird es doch auch in meinem Dialog gemacht.

Im Prinzip baust du dir bei dem Vorhaben, erst zu prüfen, dann einzutragen, ein TOCTTOU-Problem. Wenn die Anwendung gut besucht ist, könnte zwischen der Prüfung und dem Eintragen ein anderer Prozess dazwischenkommen und sich vorher eintragen.

Stimmt. Aber es ist nicht davon auszugehen, dass die Anwendung gut besucht ist. Es ist ein klar definierter, abgegrenzter Userkreis.

Deine Prüfung wird vermutlich nicht so 08/15 sein, dass du einfach blind eintragen kannst und nur auf eine Unique-Constraint-Meldung reagierst.

Korrekt.

Bei dir sind jedoch Bereiche im Spiel, von denen nur Anfang und Ende festgehalten sind und die sich nicht überschneiden sollen. Du müsstest den Prozess der Prüfung und des anschließenden Eintragens so kapseln, dass kein anderer Prozess die betroffenen Tabellen ändern kann. Im Prinzip darf nicht mal getestet werden, weil das Ergebnis ja durch die Eintragung des anderen Prozesses sofort invalidisiert werden könnte.

Das sehe ich ganz genauso. Ich mach mal und melde mich bei Fragen wieder bzw. meld mal, wenns fertig ist.

Danke für Deine (und auch Rolfs) Hinweise,

Pit