• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

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
 

Toddy

Wohlschmecker aus Vierlanden
Registriert
10.05.04
Beiträge
242
Code:
if($feld_1 == "WERT" || $feld_2 == "WERT" || $feld_3 == "WERT") {
 // Eines der Felder hatte den Wert "WERT"
}
 

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
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
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
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"?
 

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
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
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
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.
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
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,}.
 

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
Ja mein regEx. Doch dies behob den Fehler noch nicht. Und wie parseint-Funktion?
Würde dies Abfrage nicht kürzer gehen?

wapplegraph
 

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
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?