if-abfrage erweitern
peter herzog
- php
0 Tobias0 Andreas Korthaus0 Tobias
0 Henning
Hallo da!
Ich verwende folgende if-abfrage, um die eingabe in einem formular zu überprüfen, das funktioniert auch perfekt, nur hab ich jetzt das problem, dass einer der zwei begriffe enthalten sein muss, und ich kriegs net hin... bin in diesem bereich noch ziemlicher anfänger!
hier mein code:
function CheckEmail ($svEmail)
{
$bCheck = 1;
if (str_replace( "begriff1", "",$svEmail)==$svEmail)
$bCheck = 0;
return $bCheck;
}
wie muss dieser code aussehen, um auch zuzulassen, wenn statt begriff1, begriff2 dasteht?
danke für die hilfe,
peter
Hallo,
in einer if-Abfrage kannst du auch mehrere Sachen gleichzeitig abfragen. Verwende | zwischen den Anweisungen als "oder" und & als "und".
function CheckEmail ($svEmail)
{
$bCheck = 1;
if (str_replace( "begriff1", "",$svEmail)==$svEmail&str_replace( "begriff2", "",$svEmail)==$svEmail)
$bCheck = 0;
return $bCheck;
}
Jetzt wird $bCheck=0 wenn weder begriff1 noch begriff2 enthalten ist.
Tschau
Tobias
Hi!
in einer if-Abfrage kannst du auch mehrere Sachen gleichzeitig abfragen. Verwende | zwischen den Anweisungen als "oder" und & als "und".
Nicht ganz, siehe: http://de3.php.net/manual/de/language.operators.logical.php
Grüße
Andreas
ok,
so wärs korekt. Trotzdem funzt es auch mit meiner Variante.
Tschau
Tobias
Hallo Tobias,
so wärs korekt. Trotzdem funzt es auch mit meiner Variante.
Das halte ich für "Zufall".
Binäres (bitweises) UND ist ja schließlich was anderes, als logisches UND.
binäres UND logisches UND
00001111 00001111
11110000 11110000
-------- --------
00000000 00000001
Gilt für ein System, bei dem 0 == false ist und alles von 0 verschiedene eben true. Das machen aber leider die Hochsprachen intern oft unterschiedlich, siehe VBA und solche Slang-Dialekte.
Grüße
Chris (C)
Hallo Leute!
Da ich bei meinem System ohnehin nur das ODER
benötige und der Code von Tobias bei mir nicht funktioniert würde ich nun gerne wissen, was jetzt Sache ist, ich hab irgendwie den Überblcik verloren in eurer Diskussion.
danke,
peter
Hi!
Da ich bei meinem System ohnehin nur das ODER
benötige und der Code von Tobias bei mir nicht funktioniert würde ich nun gerne wissen, was jetzt Sache ist, ich hab irgendwie den Überblcik verloren in eurer Diskussion.
Die von mir verlinkte Seite ist aus dem PHP-Manual, dem würde ich schon vertauen. Da stehen die logischen Operatoren dei man so braucht. Welche s da für ODER gibt kannst Du ja einfach nachlesen und ausprobieren!
Grüße
Andreas
Hallo Peter,
entweder Du benutzt "oder" oder du bunutzt "||"
Das ist dann gleichwertig, bis auf die ggf. erforderliche Klammerung der einzelnen Therme.
Ich Klammer die Vergleiche immer, da muss man sich dann nicht merken, welche der beiden Schreibweisen die Klammern braucht.
Grüße
Chris (C)
Hallo!
entweder Du benutzt "oder" oder du bunutzt "||"
Du meinst "or"?
Grüße
Andreas
Hi,
entweder Du benutzt "oder" oder du bunutzt "||"
Du meinst "or"?
Klar, man gut dass Du aufpasst. Hätte den armen Peter sonst vollständig verwirrt.
Grüße
Chris (C)
Hallo,
function CheckEmail ($svEmail)
{
$bCheck = 1;
if (str_replace( "begriff1", "",$svEmail)==$svEmail&str_replace( "begriff2", "",$svEmail)==$svEmail)
$bCheck = 0;
return $bCheck;
}
Kleiner Tipp:
Funktionen in denen nur boolesche Werte errechnet und zurückgegeben werden kann man kürzer mit
return <Ausdruck>
schreiben.
Gruß,
Henning