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