Thread Hilfe mit Formular Script: CGI - Perl ### Formular
(30 answers)
Opened by Strat at 2004-01-16 12:37
[quote=Captain Future,24.01.2004, 01:42]Aber wie mache ich das mit der missing()-Geschichte ?
Hier soll ja alles was fehlt (ob nur Vorname, ein oder zwei Einträge oder alle) aufgelistet werden und durch eine Variable $fehler ausgegeben werden. [/quote] So steht's aber nicht in deinem Programm. Wenn Vorname, Nachname, E-Mail oder Text fehlen, gibst du eine Fehlerseite aus, die die Variable $fehler enthaelt, die dann aber noch nicht gefuellt ist. Danach pruefst du erst auf Fehler in den weiteren Eingabefeldern. (Dabei wird falsch() aber auch ausgefuehrt, wenn diese - freiwilligen - Felder leer sind!) Mein Tipp: - Pruefe die Pflichtfelder. Wenn diese nicht oder falshc gefuellt sind, schreib einen Fehlertext (mit HTML-Formatierung) in die Variable $fehler. - Pruefe die freiwilligen Felder, falls(!) sie Inhalt haben. Fuelle auch hier die Variable $fehler mit Fehlertext. (Uebrigens: Auslaendische PLZ bestehen nicht unbedingt (nur) aus Ziffern!) - Wenn $fehler danach etwas enthaelt, gibt die Fehlerseite aus, ansonsten verschicke die E-Mail und gib die Erfolgsseite aus. Quote Schaumermal ... [Sat Jan 24 00:31:48 2004] formpost.pl: Argument "" isn't numeric in addition (+) at formpost.pl line 74. - Deine Zaehlerdatei $countfile enthaelt offensichtlich keine Zahl, deshalb meckert Perl ueber die Addition $count = $count + 1;. Du pruefst auch nicht, ob der neue Zaehler in die Datei geschrieben werden kann (open(...) or irgendeine_warnung()). [Sat Jan 24 00:31:48 2004] formpost.pl: Use of uninitialized value in string ne at formpost.pl line 117. ... 118 ... 119 ... 120 - Die Felder mit den Namen "CB01" bis "CB04" existieren nicht in deinem Formular; die heissen dort "input01" bis "input04". Dann gibt's noch folgende Fipptehler: - Zeile 125: "inut08" statt "input08" - Zeile 189: "Eingabefehler" statt "Eingabefelder" Ich hoffe das war's. |