Kleines problem mit If-Verschachtelung

reddi

Mitglied
Hallo..
ich bin noch PHP Anfänger, also bitte kein Rügen falls ich irgendetwas grobes übersehen hab oder falls das alles vieeeel einfacher geht ;)
Ich möchte mir ein kleines Admin-script schreiben und mache dies so:
PHP:
if($admin=="login")
{
  if($pwquery!="")
   {
    if($pwquery==$pw)
       {
         echo $adminmenu;
       }
         else
       {
         echo "<b>Falsches Passwort.</b>";
       }
   }
    else
   {
    include("admin.php");
   }
}
 elseif($admin=="delall");
{
     if($pwquery!="")
       {
        if($pwquery==$pw)
           {
              mysql_query($delete);
              echo $adminmenu;  
              echo "<br><br><b>Einträge wurden gelöscht.</b>";
           }
            else
           {
             echo "<b>Falsches Passwort.</b>";
           }
       }
        else
       {  
        include("admin.php");
       }
}
$pwquery ist das Passwort, das eingegeben wurde, $pw das "richtige" PW aus der MySQL-Datenbank. $admin ist die Variable die beim Url-aufruf eben mit "login" oder "delall" gefüllt wird.
Wenn man sich mit korrektem Passwort anmeldet bekommt man ein admin Menü... hier hat man (vorerst) nur die möglichkeit alle daten aus einer Datenbank zu löschen (soll ein Gästebuch werden ;) )
Mein eigentliches Problem:
Bei der verschachtelung muß ich irgendwo ein Fehler gemacht haben, denn obwohl sich in der $admin Variable gar kein Inhalt befindet, wird das Login Feld (admin.php) kreiert! Es ist offensichtlich das 2. admin.php, da es beim Auskommentieren nicht mehr erscheint ..
Ich blick im Moment nicht mehr durch, für mich sind alle If Schleifen korrekt geschlossen ... findet jemand villeicht den Fehler ?
Ich hab den gesamten Code übrigens selbst geschrieben, also kann es an Fremden Codestücken nicht liegen.

Gruß
Thomas
 
PHP:
 if($pwquery!="")
   {
    if($pwquery==$pw)
       {
         echo $adminmenu;
       }
         else
       {
         echo "<b>Falsches Passwort.</b>";
       }
   }
    else
   {
    include("admin.php");
   }

da liegt wohl der fehler oder? wenn kein passwort eingeben wurde wird admin.php aufgerufen
 
Danke, ist halt eben doch ein bisschen zu spät zum Programmieren ;)

/edit:
Dies war doch nicht der Fehler. Der Code war an sich richtig, nur ich hatte hinter elseif() ein semikolon geschrieben - das war der ganze Fehler.
 
Zuletzt bearbeitet:
Kleiner Tip:
Man kann Abfrage Bedingungen für if-Abfragen via && oder AND verknüpfen. Ausserdem kann man bei if Abfragen, denen nur eine einzeilige Anweisung folgt, auf die { und } verzichten und einfach if(bedingung) dannMachDas; schreiben.
 
Zurück