Elegant zwei Bedingungen abhängig abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Elegant zwei Bedingungen abhängig abfragen

    Kann mir jemand einen Tipp geben, wie ich zwei Bedingungen,
    die jeweils in einer Funktion definiert sind, möglichst elegant
    abhängig voneinander abfragen kann?

    Das ganze soll nach folgendem Muster gehen:

    Funktion Eins = false -> Fehlermeldung Eins
    Funktion Eins = true -> Funktion Zwei = false -> Fehlermeldung Zwei
    Funktion Eins = true -> Funktion Zwei = true -> Ergebnis

    Das ist höchstwarscheinlich pille palle, aber ich geh da grad fest bei ...

  • #2
    einfach mit if ... else was sonst?
    PHP-Code:
    if (eins)
    { if (
    zwei)
          
    ergebnis;
       else
          
    fehler 2;
    }
    else
       
    fehler 1

    Kommentar


    • #3
      Naja, das Problem ist, dass es an irgendeiner Stelle hängt,
      und ich nicht weiß wo:

      PHP-Code:

       
      if (isset($_POST['login'])) 

          {
          
      $userid=check_user($_POST['username'], $_POST['userpass']);
          if (
      $userid!=false) {
                      
      $userstate check_activation($userid);
                      if (
      $userstate!=true) {
                      echo 
      'Dieser Account ist noch nicht freigeschaltet';
                                            }
                          else    {            
                          
      login($userid);
                                  }
              
              else {
                  echo 
      'Die Anmeldedaten waren nicht korrekt';
                   }
          } 

      Kommentar


      • #4
        und hängt es? hast du Testausgabe der Rückgabe-Werte der beiden Funktionen gemacht? wie sehen sie aus?

        Kommentar


        • #5
          Ich habs etwas umgestellt:

          PHP-Code:

           
          if (isset($_POST['login'])) 

              {
              
          $userid=check_user($_POST['username'], $_POST['userpass']);
              if (
          $userid!=true) {
                              echo 
          'Die Anmeldedaten waren nicht korrekt';
                              }    
                  else {
                      
          $state check_activation($_POST['username'], $_POST['userpass']);
                      if (
          $state=true) {
                      
          login($userid);
                       }
                      else {
                       echo 
          'Dieser Account ist noch nicht aktiviert';
                           }

              } 
          Das Ergebnis ist ziemlich bizarr, er scheint die Schleife zu durchlaufen,
          allerdings gibt er mit einen sehr komischen Parse-Error aus:

          Parse error: parse error, unexpected $ in /var/www/.../board/login.php on line 38

          Der Witz ist, dass die Schleife zwischen Zeile 6 und 22 liegt und auf
          besagter Zeile 38 lediglich der php-Ausführungscode " ?> " steht ...

          Kommentar


          • #6
            zähle deine geschweiften Klammern !
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #7
              erstmal diesen Fehler beheben
              PHP-Code:
              if ($state=true
              dann schauen mal weiter. Ausserdem die Zeilenangabe ist meist die Zeile, wo der Parser stoppt und nicht unbedingt die Fehlerzeile, also schaue dir ein paar Zeilen davor an.

              Kommentar


              • #8
                Es hing an den geschweiften Klammern ... jetzt funzt es, Danke!

                Ab 22 Uhr verschwimmt es ...

                Kommentar


                • #9
                  Original geschrieben von Jule
                  Das Ergebnis ist ziemlich bizarr, er scheint die Schleife zu durchlaufen, allerdings gibt er mit einen sehr komischen Parse-Error aus
                  So'n Quark.

                  ein Parse Error ist ein so schwerer Fehler, dass PHP nicht weiß, was du mit deinem Code meinst - und deshalb führt es dann das Script natürlich gar nicht aus.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X