Seite 2 von 2

Re: Kontaktformular

Verfasst: 26.01.2012 16:22
von masterronnow
*push

Ich komme hiermit nicht weiter, ich habe schon eine weile rumprobiert, doch es will einfach nicht weiter gehen...

Re: Kontaktformular

Verfasst: 27.01.2012 02:24
von gn#36
Das hast du doch alles schon programmiert. Es lag nur an der falschen Stelle. Du musst nur die Bedingungen die du schon zusammengestellt hattest da hin kopieren, wo ich das angegeben habe. Ich habe irgendwie das Gefühl, dass du dir deine bisherigen Skripte nur blind zusammenkopiert hast. Vielleicht fängst du erst mal mit was leichterem an, aber programmierst das ohne dir Dinge aus anderen Skripten zu kopieren.

Das else was du direkt nach if(...){ hast wird vermutlich einen Syntaxfehler verursachen, weil es kein zugehöriges if gibt.

Re: Kontaktformular

Verfasst: 30.01.2012 19:45
von masterronnow
Habe mich noch einmal dran gesetzt und habe auch die Einrückung überarbeitet, damit es etwas übersichtlicher wird.

Jetzt scheint die Kontrolle ja zu funktionieren.(https://www.phpbb.de/support/pastebin.p ... view&s=955)
Doch irgendwie prüft er jetzt auch die Felder, die er gar nicht prüfen soll, ist doch ein Fehler drin? Wenn ja, wo liegt der?(Hier kann man das ganze testen: http://ultimatic-chat.de/test.php)

Und nein, ich habe mir das nicht nur so zusammen kopiert, ich habe mir zwar auch Hilfe im Internet gesucht, aber "kopiert" habe ich nur die Versandkontrolle, da das wirklich etwas neues für mich ist.

Viele Grüße,
Kevin

Re: Kontaktformular

Verfasst: 30.01.2012 23:00
von gn#36
Du hast Glück, dass nicht einfach die Mail verschickt wird. Auch wenn ich es jetzt zum 1000. Mal auf andere Weise schreibe: Du musst erst prüfen und dann das Ergebnis auswerten. Du hast die Prüfung immer noch im else Zweig. Die Bedingungen vorher zu definieren hat überhaupt keinen Effekt. Der ganze else Zweig muss nach vorne, ein Else brauchst du dann nicht mehr, weil das die() in den Bedingungsprüfungen bereits dafür sorgt, dass das Skript nicht weiter ausgeführt wird, wenn irgendwas schief läuft. Also brauchst du sogar die if(isset(...)) Bedingung auch dann nicht mehr.

Danach wird dein Skript aber auch noch nicht laufen, weil du alle Inhalte von $_POST durchläufst, aber bereits Felder im Formular sind, die nicht in deiner Prüfung vorkommen. Die werden dann mit einem leeren String verglichen und das schlägt logischerweise fehl. Du musst also entweder alle Variablen in $_POST in deine Prüfung aufnehmen, oder aber gezielt die wichtigen Dinge prüfen.