Hallo,
Happig happig. Gut, ich lass das mit dem weiterleiten :-)
Naja - ganz so dramatisch ist es nicht:
... code ...
if ($_SERVER["REQUEST_METHOD"] == "HTTP/1.1") {
Header ("Status: 303 See other");
}
Header ("Location: ....");
... code (z.B. exit) ...
Die Methode unten gefällt mir auch besser.
Diese, die Du nimmst, ist aber auch mit einer Weiterleitung.
Oder Du machst das ganz anders: Du schaust bei jedem Submit, ob exakt dieselben Kundendaten schon mal in die DB eingetragen worden sind, und holst Dir ggf. die Kundennummer. (bzw. kombinierst das ganze in einem SELECT - das halt 1 Zeile zurückliefert, falls schon etwas vorhanden und keine Zeile falls noch nichts vorhanden) Dann brauchst Du auch keine Sessions und keine Weiterleitung.
Ehrlich gesagt gefällt mir diese Methode im Nachhinein am besten, da Du dich nicht auf Sessions verlassen musst, und dein unteres Problem schon gelöst bekommst. Da bräuchtest Du auch keine Weiterleitung.
Vielleicht noch ne kleine Frage, da du dich hier recht gut auszukennen scheinst: Ich möchte (weitgehend) von vornherein ausschließen, dass sich User mehrmals eintragen. Nun dachte ich daran, ein Cookie beim Eintragen zu setzen (falls Cookie da, würde dann erst gar kein Formular zum Eintragen mehr angeboten). Macht das Sinn oder wär das doch zu fies? Ja, ich weiß, nicht jeder akzepriert Cookies und so mancher ist auch etwas schlauer als der Obststand an der Ecke und löscht den Keks eben...aber "Gelegenheit macht Diebe", und je mehr Steine im Weg liegen, desto weniger hab ich mit Abstaubern zu kämpfen (es geht hier um eine kostenlose Dienstleistung, die natürlich nur 1x pro Person angefordert können werden soll)...
s.o.
Evtl. kannst Du nicht nach allen Daten suchen sondern nur nach eindeutigen. (z.B. Namen oder so) Cookies kannst Du vergessen, Serverseitige DB-Prüfung ist sicherer. Wenn jemand sich unter anderen Daten dann ein zweites Mal einträgt, dann kann er auch meistens einen Cookie löschen.
Grüße,
Christian