peter herzog: if-abfrage erweitern

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

  1. 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

    --
    http://www.tobiasklare.de
    fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. 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

      1. ok,
        so wärs korekt. Trotzdem funzt es auch mit meiner Variante.

        Tschau

        Tobias

        --
        http://www.tobiasklare.de
        fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
        1. 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)

          1. 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

            1. 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

            2. 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)

              1. Hallo!

                entweder Du benutzt "oder" oder du bunutzt "||"

                Du meinst "or"?

                Grüße
                Andreas

                1. 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)

    2. 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

      --
      Gruß aus Braunschweig
      SELF-Code: sh:( fo:| ch:{ rl:( br:> n4:( ie:( mo:) va:) de:] zu:} fl:( ss:| ls:<