Quakenet "login" Tutorial

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

  • Quakenet "login" Tutorial

    hallo, hab mich bis zum Quakenet-Login- Tutorial durchgebissen.
    Bekomme leider kein "Willkommen ..."
    nur: "ungültiges Passwort"


    PHP-Code:
    <?php 
      
    <?php 
      error_reporting
    (E_ALL); 
       include 
    "db.inc.php";
      if(isset(
    $_GET['action']) AND ("logout" == $_GET['action'])) { 
      
    session_destroy(); 
      echo 
    "<p>\n";  
      echo 
    "    Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";  
      echo 
    "    zu kommen müssen sie sich wieder Einloggen\n";  
      echo 
    "</p>\n";   
      } else {   
       if(isset(
    $_POST['UserID']) AND '0' == $_POST['UserID']) { 
       echo 
    "<p>\n";     
       echo 
    "    Bitte wählen sie einen Benutzernamen aus.\n";
      echo 
    "</p>\n";  
      } else {    
      if(isset(
    $_POST['UserID'], $_POST['Password']) AND 
      
    login_right(addslashes($_POST['UserID']),  
      
    addslashes($_POST['Password']))) {  
      
      
    $_SESSION['ID'] = $_POST['UserID']; 
       }        
       if(isset(
    $_SESSION['ID'])) {  
      
      echo 
    "<p>\n"
      echo 
    "Willkommen im Adminbereich <br />\n"
     
      echo 
    "    <a href=\"indexCMS.php?
    section=admin&amp;"
    .SID."\">Repeat</a>\n";
      echo 
    "    <a href=\"indexCMS.php?
    section=admin&amp;action=logout&amp;"
    .SID."\">Ausloggen</a>\n"
      echo 
    "</p>\n"
      } else {     
      if(isset(
    $_POST['submit'])) {  
     
      echo 
    "<p>\n";
      
      echo 
    "<pre>\n"
      
    print_r($_POST);      //klappt: ID und Password 
      
    echo "</pre>\n"
      
      echo 
    "    Ungültiges Password.\n";  
      echo 
    "</p>\n";         
      }        
      echo 
    "<form action=\"indexCMS.php?section=admin\" method=\"post\" 
    class=\"formular\">\n"
    ;  
      echo 
    "    <p>\n";    
      echo 
    "        Adminbereich\n"
      echo 
    "    </p>\n";   
      echo 
    "    <ol>\n";    
      echo 
    "        <li>\n";   
      echo 
    "            <label for=\"name\">Name</label>\n";   
      
    $sql "SELECT   ID,   Name    FROM    users     ORDER BY    Name ASC;";    
      
    $result mysql_query($sql) OR die(mysql_error());  
      echo 
    "                <select size=\"1\" name=\"UserID\" id=\"name\">\n";
      
      echo 
    "                    <option value=\"0\" selected=\"selected\">Bitte 
    wählen</option>\n"
    ;   
      while(
    $row mysql_fetch_assoc($result)) {  
      echo 
    "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
       }       
      echo 
    "   
      </select>\n"
    ;    
      echo 
    "        </li>\n";         
      echo 
    "        <li>\n";             
      echo 
    "            <label for=\"password\">Password</label>\n";
      echo 
    "            <input type=\"password\" name=\"Password\" 
    id=\"password\" />\n"
    ;   
      echo 
    "        </li>\n";            
      echo 
    "        <li>\n";         
      echo 
    "            <input type=\"submit\" name=\"submit\" 
    value=\"Speichern\" />\n"
    ;      
      echo 
    "            <input type=\"reset\" name=\"submit\" 
    value=\"Zurücksetzen\" />\n"
    ;    
      echo 
    "        </li>\n";  
      echo 
    "    </ol>\n";    
      echo 
    "</form>\n";       
      }  
      }  
      }
      
    ?>
    hab das Script nicht verkürzt, weil ich den Fehler noch nicht eingrenzen kann.

    danke
    Pepsi

    im array steht nur ID und password (geändert)
    Zuletzt geändert von pepsi; 10.01.2007, 13:27.

  • #2
    Hast du das Skript kopiert oder probiert, es nach zu schreiben?
    Die Funktion login_right hast du irgendwo definiert?
    Liegt das Passwort in der DB als Klartext?
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      bei der formatierung kann ich das auch nicht so schnell eingrenzen.

      aber du weißt, welche code angezeigt wird, dann nimmst du noch die umschließenden kammern und fertig:

      PHP-Code:
      if(isset($_SESSION['ID'])) { 
      // ...
      } else {     
        if(isset(
      $_POST['submit'])) {  
       
        echo 
      "<p>\n";
        
        echo 
      "<pre>\n"
        
      print_r($_POST);      //klappt: ID Name und Password 
        
      echo "</pre>\n"
        
        echo 
      "    Ungültiges Password.\n";  
        echo 
      "</p>\n";         
        } 
      und jetzt gehts ans debuggen.

      Überprüfe ob die bedingungen erfüllt sind. scheinend ist die erste (isset($_Session...)) nicht erfüllt.

      und jetzt weiter. warum?

      mache testausgaben
      wo ist dein error_reporting()?

      usw. Grundlagen

      Kommentar


      • #4
        Script kopiert und geändert und schrittweise nachvollzogen

        login_right in einer Funktion.php mit noch einer Funktion gespeichert

        Password in phpMaAdmin eingegeben

        Kommentar


        • #5
          Password in phpMaAdmin eingegeben
          das ist nicht die antwort auf die frage.

          was ist mit meinen hinweise?

          Kommentar


          • #6
            error_reporting()?

            ich habe error_reporting(E-ALL)

            war das nicht richtig in der zweiten Zeile gleich oben?

            danke, gehe jetzt gleich an die anderen Punkte

            Pepsi

            (war soooo stolz die array-Variable von selbst abgefragt zu haben!)

            Kommentar


            • #7
              doch, eall ist okay.

              Kommentar


              • #8
                kurze Zwischenfrage:

                "bei der formatierung kann ich das auch nicht so schnell eingrenzen"

                meinst du damit die Farben oder die backslashs?

                Kommentar


                • #9
                  weder noch. ich meine fehlende tabs. u.a.

                  Kommentar


                  • #10
                    so, hab versucht es etwas lesbarer zu machen -
                    versuche jetzt ans Prüfen zu gehen...
                    PHP-Code:
                      <?php 
                      error_reporting
                    (E_ALL); 

                      include 
                    "db.inc.php";

                      if(isset(
                    $_GET['action']) AND ("logout" == $_GET['action'])) { 
                                    
                    session_destroy(); 
                      echo 
                    "    <p>\n";  
                      echo 
                    "    Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";  
                      echo 
                    "    zu kommen müssen sie sich wieder Einloggen\n";  
                      echo 
                    "    </p>\n";   
                                    } else {   
                                           if(isset(
                    $_POST['UserID']) AND '0' == $_POST['UserID']) { 
                      echo 
                    "             <p>\n";     
                      echo 
                    "             Bitte wählen sie einen Benutzernamen aus.\n";
                      echo 
                    "             </p>\n";  
                                    } else { 
                       
                                          if(isset(
                    $_POST['UserID'], $_POST['Password']) AND 
                                          
                    login_right(addslashes($_POST['UserID']),  
                                          
                    addslashes($_POST['Password']))) {  
                      
                                          
                    $_SESSION['ID'] = $_POST['UserID']; 
                                       } 
                           
                                    if(isset(
                    $_SESSION['ID'])) {  
                      
                      echo
                    "        <p>\n"
                      echo
                    "         Willkommen im Adminbereich <br />\n"
                     
                      echo 
                    "        <a href=\"indexCMS.php?
                                          section=admin&"
                    .SID."\">Repeat</a>\n";
                      echo 
                    "        <a href=\"indexCMS.php?
                                          section=admin&action=logout&"
                    .SID."\">Ausloggen</a>\n"
                      echo 
                    "        </p>\n"

                                        } else {  
                       
                                              if(isset(
                    $_POST['submit'])) {  
                     
                      echo 
                    "             <p>\n";
                      
                                               echo 
                    " <pre>\n"
                                               
                    print_r($_POST);      //klappt: ID und Password 
                                               
                    echo "</pre>\n"
                      
                      echo 
                    "               Ungültiges Password.\n";  
                      echo 
                    "               </p>\n";         
                                             }        
                      echo 
                    "   <form action=\"indexCMS.php?section=admin\" method=\"post\" 
                                      class=\"formular\">\n"
                    ;  
                      echo 
                    "    <p>\n";    
                      echo 
                    "     Adminbereich\n"
                      echo 
                    "    </p>\n";   
                      echo 
                    "    <ol>\n"
                       
                      echo 
                    "        <li>\n";   
                      echo 
                    "            <label for=\"name\">Name</label>\n";   
                      
                    $sql "SELECT   ID,   Name    FROM    users     ORDER BY    Name ASC;";    
                      
                    $result mysql_query($sql) OR die(mysql_error());  
                      echo 
                    "                <select size=\"1\" name=\"UserID\" id=\"name\">\n";  
                      echo 
                    "                  <option value=\"0\" selected=\"selected\">Bitte 
                                                   wählen</option>\n"
                    ;   
                                                  while(
                    $row mysql_fetch_assoc($result)) {  
                      echo 
                    "                  <option value=\"".$row['ID']."\">".$row
                                                   
                    ['Name']."</option>\n";
                                                   }       
                      echo 
                    "                 </select>\n";    
                      echo 
                    "        </li>\n";  
                           
                      echo 
                    "        <li>\n";             
                      echo 
                    "            <label for=\"password\">Password</label>\n";
                      echo 
                    "            <input type=\"password\" name=\"Password\" 
                                                id=\"password\" />\n"
                    ;   
                      echo 
                    "        </li>\n";
                                
                      echo 
                    "        <li>\n";         
                      echo 
                    "            <input type=\"submit\" name=\"submit\" 
                                               value=\"Speichern\" />\n"
                    ;      
                      echo 
                    "            <input type=\"reset\" name=\"submit\" 
                                             value=\"Zurücksetzen\" />\n"
                    ;    
                      echo 
                    "        </li>\n";  
                      echo 
                    "    </ol>\n";    
                      echo 
                    "</form>\n";       
                                       }  
                                   }  
                               }
                      
                    ?>

                    Kommentar


                    • #11
                      Original geschrieben von pepsi
                      so, hab versucht es etwas lesbarer zu machen -
                      versuche jetzt ans Prüfen zu gehen...
                      OffTopic:
                      Das war wohl ein Griff ins Klo...

                      Es ist am besten, wenn man Code in der Textarea mit Leerzeichen einrückt. Tabs aus dem Editor gehen hier flöten.
                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        schau dir mal an, wie andere leute hier im forum ihren code formatieren, das sieht noch n bisschen anders aus.

                        Kommentar


                        • #13
                          Es ist am besten, wenn man Code in der Textarea mit Leerzeichen einrückt. Tabs aus dem Editor gehen hier flöten.
                          quatsch, der ist absichtlich so formatiert worden...

                          Kommentar


                          • #14
                            OffTopic:

                            Nieder mit der Camel Case-Konvention

                            Kommentar


                            • #15
                              tab = =>
                              Bsp:
                              PHP-Code:
                              if($bla){
                              => echo 
                              "bla";
                              => echo 
                              "bla";
                              }else{
                              => echo 
                              "bla";
                              => echo 
                              "bla";
                              => if(
                              $bla){
                              => => echo 
                              "bla";
                              => => echo 
                              "bla";
                              => }else{
                              => => echo 
                              "bla";
                              => => echo 
                              "bla";
                              => }

                              macht es viel leserlicher
                              Zuletzt geändert von Damian1984; 10.01.2007, 15:05.
                              Für Rechtschreibfehler übernehme ich keine Haftung!

                              Kommentar

                              Lädt...
                              X