Mailinglisten-Archive |
Sebastian Mendel schrieb: > Jörn Grube schrieb: >> >> function testText($text) { >> global $errText; >> if (!ereg ("^\s*[A-Za-zÄÖÜäöüß\-,\s]+\s*$", $text)) { >> $errText = 1; >> } >> return $errText; >> } > > sieht ziemlich durcheinander aus, wieso gibst du $errText zurück wenn es eh > global ist und die Rückgabe gar nicht auswertest? > wieso initialisierst du $errText nicht? Den Inhalt von $errText werte ich ganz am Ende des Scripts aus. Es wird ja noch mehr geprüft (Mail, Name usw.), alles in derselben Art und Weise. Steht dann auch nur ein Fehlerinhalt auf 1, wird dieser als GET an header("location: kontakt.php?errText=".$errText."") (nur als Beispiel) ans Formular zurückgeschickt, die bisherigen Inhalte wieder in die Felder geschrieben und bei falschen Feldern eine Meldung dazugeschrieben. > wenn du eh trim() machst brauchst du die \s nicht Das kommt davon, wenn man solche Sachen aus dem INet zusammensucht und sie nicht wirklich versteht. Hab ja schon einiges gelernt, aber wie man Regex erstellt, das werde ich nie kapieren, glaub ich :( > außerdem solltest du lieber mit preg*() arbeiten > > function testText($text) > { > if (! preg_match("/^[-a-zäöüß,\s]+$/i", $text)) { > return false; > } > return true; > } ... ... ... >> Was mach ich falsch? > > mach halt mal ein var_dump() auf dein $betreff und dein $errText, oder > probier es mit den obigen Änderungen So funktionierts, auch wenn ich noch ein wenig damit zu tun haben werde zu verstehen, warum :) Besten Dank nochmal, ich werde mich dann mal dransetzen und versuchen, es zu verstehen :) LG und danke aus Berlin Jörn
php::bar PHP Wiki - Listenarchive