Fehlertext bei Formular wird nicht ausgegeben
Andi
- php
Hallo zusammen,
wie der Titel schon sagt: ich bekomme es zwar hin, dass die pflichtfelder (wenn nicht ausgefüllt) ein rotes Ausrufezeichen bekommen, der Fehlertext wird aber nicht angezeigt. Ich finde den Fehlder einfach nicht :(
Hier die PHP Datei:
HTML
Und hier die CSS:
BTW: Geht es auch, dass die Hintergrundfarbe des Feldes rot wird? Dann würd ich mir dieses blöde Ausrufezeichen sparen :)
Danke für Infos und viele grüße
Andi
Hello,
Hier die PHP Datei:
HTML
Witzbold. Mit der Ressource (geparste Datei) alleine können wir nichts anfangen. Wir benötigen die Datei mit dem PGP-Quelltext (ungeparst). Benenne sie ainfach um auf "2.php.txt" und lade diese zusätzlich auf Deinen Webspace :-))
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Witzbold. Mit der Ressource (geparste Datei) alleine können wir nichts anfangen. Wir benötigen die Datei mit dem PGP-Quelltext (ungeparst). Benenne sie ainfach um auf "2.php.txt" und lade diese zusätzlich auf Deinen Webspace :-))
Mei wer denken kann is klar im Vorteil.
Sorry, war in der Hektik noch.
Hier ein neuer Link:
Danke dir
Hello,
Witzbold. Mit der Ressource (geparste Datei) alleine können wir nichts anfangen. Wir benötigen die Datei mit dem PGP-Quelltext (ungeparst). Benenne sie ainfach um auf "2.php.txt" und lade diese zusätzlich auf Deinen Webspace :-))
Mei wer denken kann is klar im Vorteil.
Sorry, war in der Hektik noch.
Hier ein neuer Link:
Das Problem ist ganz einfach:
Die Funktion Pruefen() schreibt zwar in ihre eigenen lokalen Fehlervariablen etwas hineine, aber die versickern dann. Wenn das Scope der Funktion verlassen wird, sind sie nämlich nicht mehr gültig und verschwinden...
Für derartige Funktionen benutze ich immer gerne Arrays für die Übergabe der Daten und die Rückgabe von Fehlerwerten. Achte auf das & vor dem Array-Bezeichner. Die Daten können also über diesen Weg in die Funktion und aus der Funktion wieder heraus transportiert werden.
Function Pruefen(&$_data, $_validation_rule, &$_validation_result)
{
$errors = 0; ## Bei jedem nichtbehebbaren Fehler incrementieren
#...
return $errors;
}
Und bei Formular genauso:
Function Formular ($_data, $_validation_result)
{
}
wobei $_data, $_validation_rule und $_validation_result dann assoziative Arrays sind.
Dann kann man auch bestens mit den Filter-Funktionen von PHP arbeiten.
http://de.php.net/manual/en/book.filter.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Das Problem ist ganz einfach:
Servus Tom,
erstmal danke für deine ausführliche Antwort. Sorry, ich hätte vielleicht dazu sagen sollen, dass PHP nicht wirklich mein Gebiet ist und ich den PHP Code einfach von ner anderen Stelle übernommen habe.
Komisch ist allerdings, dass ich den Code auf einer anderen Seite (Formular im Tabellenlayout, gleicher PHP Code) ebenfalls eingesetzt hab, und da wird der Code ausgegeben...
Wäre das in meinem Beispiel dann sowas (bitte nicht hauen :) )?
function Pruefen(
&$_stueckzahl, &$_anrede, &$_name,....
)
{
$errors = 0; ## Bei jedem nichtbehebbaren Fehler incrementieren
if( $stueckzahl == "") {
$stueckzahlfehler = "<b> !</b>";
$errors= 1;
}
...
return $errors;
}
--------------------
Function Formular ($_stueckzahl, $_anrede, $_name)
{
}
Hello,
erstmal danke für deine ausführliche Antwort. Sorry, ich hätte vielleicht dazu sagen sollen, dass PHP nicht wirklich mein Gebiet ist und ich den PHP Code einfach von ner anderen Stelle übernommen habe.
Komisch ist allerdings, dass ich den Code auf einer anderen Seite (Formular im Tabellenlayout, gleicher PHP Code) ebenfalls eingesetzt hab, und da wird der Code ausgegeben...
Wäre das in meinem Beispiel dann sowas (bitte nicht hauen :) )?
function Pruefen(
&$stueckzahl, &$anrede, &$name,....
)
{
$errors = 0; ## Bei jedem nichtbehebbaren Fehler incrementieren
if( $stueckzahl == "") {
$stueckzahlfehler = "<b> !</b>";
$errors++;
}
...return $errors;
}
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg