• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

x Felder => 1 Feld ok

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
Hallo

Ich habe ein Formular und möcht nun prüfen, ob mindestend eines der Felder mit dem Name, x,y,z einen gültigen Wert enthält.
Wie mach ich dies mit preg_match()?
Oder anders?

wappegraph
 
Code:
if($feld_1 == "WERT" || $feld_2 == "WERT" || $feld_3 == "WERT") {
 // Eines der Felder hatte den Wert "WERT"
}
 
Ja also ich weis den Wert nicht und habe gestern dies probiert:

Code:
if (!preg_match($regEx, $sv_an) or !preg_match($regEx, $sa_an) or !preg_match($regEx, $gr_an) or !preg_match($regEx, $cv_an) or !preg_match($regEx, $cl_an) or !preg_match($regEx, $mou_an))
		{ $error = true; array_push($nError, 'menu_an'); array_push($mError, 'Bitte wählen Sie ein Menu');}

Code:
$regEx = "#[0-9]{1,}#";



Es klappte jedoch nicht.

wapplegraph
 
Deine Fragen können besser beantwortet werden, wenn Du ein wenig spezifischer fragste. Was z.B. ist ein "gültiger Wert" und was bedeutet "klappt nicht"?
 
Also ein gültiger Wert wäre min. eine Zahl in einem der 6 Felder.
Die Eingabe der Felder ist in $name = $_POST['name_an']; gespeichert. Also nicht so simpel.

Klappt nicht heisst: bei einer gültigen Eingabe ist $error = 1;

wapplegraph
 
Klappt nicht heisst: bei einer gültigen Eingabe ist $error = 1;
Das entspricht ja auch dem Wert "true", also ist alles in Ordnung, oder? Null hieße "false".

Edit: Ach so, Du setzt "error" auf true, falls die Abfrage "ungültig" liefert. Sorry, falsch gedacht.
 
Warum hier eine regex bemühen? Gibt es denn in PHP keine parseint Funktion o.ä.? Abgesehen davon ist Deine regex, denke ich, falsch, da nicht verankert. #^[0-9]{1,}$# wäre eine mögliche Variante, aber ich denke, auch #^\d+$# sollte es tun, da \d [0-9] entspricht und + dem {1,}.
 
Ja mein regEx. Doch dies behob den Fehler noch nicht. Und wie parseint-Funktion?
Würde dies Abfrage nicht kürzer gehen?

wapplegraph
 
Also wenn ich es mit preg_match() mache, kann ich nicht irgendwie schreiben:

preg_match($regEx, ($string1, $sring2 ...)); D.H. Meine Suche würde eigentlich bis halt auf einen kleinen Fehler stimmen?