Probleme mit if-Schleife

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

  • Probleme mit if-Schleife

    Hallo,

    ich schaffe es einfach nicht, die folgende if-Schleife zum Laufen zu bringen.

    Erklärung:
    - Prüfe, ob Benutzer und Passwort stimmt, prüfe, ob Benutzer den Status "admin" hat.
    - Wenn "admin" linke auf admin.php, wenn nicht, linke auf index.php

    Soweit funktioniert es auch. Wenn ich aber das Login-Formular leer lasse und gar keine Daten (bzw. falsche) eingebe, wird trotzdem index.php gelinkt und nicht die Fehlermeldung.

    Ich hoffe, hier hat jemand einen Tip.

    Gruß,
    Andi

    PHP-Code:
    <? 
    if(isset($todo))
    $pwd = md5($passwort);
    $result = mysql_query("SELECT * FROM user WHERE uname='$uname' and passwort='$pwd' and status='admin'") or die ("Falsche Benutzerdaten");
     if(mysql_num_rows($result) == 1) 
    {
    $link = "admin.php";
    }
    else
    {
    $link = "index.php";
    }{
    echo "<table width=60% border=0 align=center cellpadding=1 cellspacing=1 bgcolor=#006600>";
    echo "<tr>";
    echo "<td><div align=center class=tabtopfont><strong>Login erfolgreich!</strong></div></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td bgcolor=#FFFFFF>Hallo $uname!<br><br>";
    echo "Die Anmeldung war erfolgreich.<br>";
    echo "Um fortzufahren <a href=\"$link\">klicken Sie bitte hier</a>.</td>";
    echo "</tr>";
    echo "</table>";
    }
    ?>
    Zuletzt geändert von AndiA; 08.07.2004, 11:22.

  • #2
    mehrzeilige anweisungen in bedingungen gehören in {} ... dein erstes if hat keine klammern, daher wird auch nur die erste nachfolgende zeile nicht ausgeführt ... wenn $todo nicht gesetzt ist.
    Kissolino.com

    Kommentar


    • #3
      was das?
      PHP-Code:
      }{ 

      und ist admin.php die Fehlermeldung?
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        admin.php ist der Adminbereich. Wenn sich ein Admin anmeldet, geht er direkt in den Adminbereich. Vergleichbar mit einem Gästebuch. Wenn man sich vor dem Betrachten anmelden muss, geht der Betreiber direkt zur Bearbeitung und der Besucher zu "Sehen/Eintragen"-Seite.

        Kommentar


        • #5
          ohne garantie:
          PHP-Code:
          <? 
          if(isset($todo)){ // Hier gehört die Klammer hin
              $pwd = md5($passwort);
              $result = mysql_query("SELECT * FROM user WHERE uname='$uname' and passwort='$pwd'"); // der Status wird später geprüft
              $benutzer=mysql_fetch_array($result);
              if(!mysql_num_rows($result)){ // wenn Benutzername und/oder Passwort falsch sind
                  die ("Falsche Benutzerdaten");    
              }
              elseif ($benutzer['status']=='admin'){ // wenn Benutzername und Passwort richtig sind und der benutzer den status admin hat
                  $link = "admin.php";
              }
              else{ // alles andere sind "normale" Benutzer
                  $link = "index.php";
              } // Hier war eine Klammer zu viel
              echo "<table width=60% border=0 align=center cellpadding=1 cellspacing=1 bgcolor=#006600>";
              echo "<tr>";
              echo "<td><div align=center class=tabtopfont><strong>Login erfolgreich!</strong></div></td>";
              echo "</tr>";
              echo "<tr>";
              echo "<td bgcolor=#FFFFFF>Hallo $uname!<br><br>";
              echo "Die Anmeldung war erfolgreich.<br>";
              echo "Um fortzufahren <a href=\"$link\">klicken Sie bitte hier</a>.</td>";
              echo "</tr>";
              echo "</table>";
          }
          ?>

          Kommentar


          • #6
            Perfekt! Herzlichen Dank für die Hilfsbereitschaft.

            Kommentar


            • #7
              http://www.dclp-faq.de/q/q-terminologie-if.html
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von AndiA
                Perfekt! Herzlichen Dank für die Hilfsbereitschaft.
                Es gibt keine If-Schleifen
                Das was du meinst ist eine Schleife in Kombination mit einer If Verzweigung......


                Schleifen:
                Kopfgesteuerte
                Fussgesteuerte
                Zählschleifen

                Bedingungen:
                If
                Switch

                http://de.php.net/manual/de/language...structures.php
                [color=blue]MfG Payne_of_Death[/color]

                [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                [color=red]Merke:[/color]
                [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                Murphy`s Importanst LAWS
                Jede Lösung bringt nur neue Probleme
                Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                Kommentar


                • #9
                  Ist recht.

                  Kommentar

                  Lädt...
                  X