Problem mit IF-Abfrage

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

  • Problem mit IF-Abfrage

    Hallo,
    ich habe ein Problem mit einer IF-Abfrage, ich will zwei IF-Abfragen starten allerdings hat der Code Probleme mit den zwei "Else" weil er das zweite Else "Account gesperrt" immer auslässt. Wie kann ich das verhindern?
    PHP-Code:
    <?php 
    if (!isset ($_SESSION["user_id"])) { 
    if (
    == $_SESSION["user_sperrung"]) {
    ?>
      <div class="error">Du bist nicht angemeldet!</div>
    <?php } else { ?>
      <div class="error">Dein Account wurde gesperrt!</div>
    <?php } } else { ?>
      <div class="text">Du bist eingeloggt!</div>
    <?php ?>

  • #2
    Re: Problem mit IF-Abfrage

    Werte kontrolliert?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      PHP-Code:
      if (!isset ($_SESSION["user_id"])) { 
         if (
      == $_SESSION["user_sperrung"]) {
           
      #(1) Du bist nicht angemeldet!
         
      } else {
           
      #(2) Dein Account wurde gesperrt!
         

      } else {
         
      #(3) Du bist eingeloggt!

      nächstes mal bitte leserlichen code zeigen.

      wenn du in (2) nicht reinkommst, ist die bedingung der inneren if wohl immer true. ansonsten schau, was in $_SESSION["user_sperrung"] wirklich drin steht und zeig es hier (var_dump()).

      Kommentar


      • #4
        @penizillin: Ich muss den Code so schreiben da zwischen diesen Werten Tabellen sind.
        In $_SESSION["user_sperrung"]; ist die Variable 1 gespeichert.

        Ja alle Werte funktionieren, nur kommt PHP mit der ELSE nicht klar es überspringt immer diesen Code:
        PHP-Code:
        <?php } else { ?>
          <div class="error">Dein Account wurde gesperrt!</div>
        Ich denke mal weil er nur das letzte ELSE liest.
        Zuletzt geändert von SilverVegeto; 13.01.2007, 14:30.

        Kommentar


        • #5
          das sollte dein problem sein.

          php macht genau das, was du davon verlangst. zeige die testausgabe des relevanten wertes (var_dump beider session variablen).

          Kommentar


          • #6
            Ich glaube ich habe mich oben ein wenig falsch ausgedrückt, wegen der Fehlerbeschreibung:

            Bei Login ohne Sperrung:
            Willkommen auf unserer Website

            Bei kein Login:
            Du bist nicht eingeloggt!

            Bei Login mit Sperrung:
            Willkommen auf unserer Website (Hier sollte eigentlich Account gesperrt erscheinen)

            Hier die Inhalte der Variablen:
            $user_id = 1
            $user_sperrung = 1

            Kommentar


            • #7
              und jetzt noch mal überlegen: user_id ist auf 1 gesetzt.
              was ergibt (isset(user_id))?
              was ergibt (!isset(user_id))?
              in welchen zweig der äußeren if gelangst du?

              was du wahrscheinlich machen willst, ist
              PHP-Code:
              if (isset ($_SESSION["user_id"])) { 
                 if (
              == $_SESSION["user_sperrung"]) {
                   
              #(1) Du bist angemeldet!
                 
              } else {
                   
              #(2) Dein Account wurde gesperrt!
                 

              } else {
                 
              #(3) Du bist nicht eingeloggt!

              Kommentar


              • #8
                Danke, das mit dem "!" wusste ich nicht. Funktioniert jetzt.

                Kommentar

                Lädt...
                X