LoginScript

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

  • LoginScript

    Hallo,
    Habe 2 Problem mit diesem Loginscript.
    Also das erste ist das der Login nicht klappt und er mir immer sagt das ich falsche daten eingegeben habe!

    Der zweite ist in meinem Layout da kommt diese Fehler meldung mit der Session :
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at .....xxxx.php:8)


    Das ist das folgene Script was nach dem Formular kommt!
    PHP-Code:
    <?php
      session_start
    ();

     
    error_reporting(E_ALL);
     Include 
    "constant.php";
    @
    mysql_connect($server,$user,$passwort) or die (mysql_error());
    mysql_select_db($datenbank) or die (mysql_error());

    $username $_POST["username"];
    $passwort md5($_POST["password"]);

    $abfrage "SELECT
                    username,
                    passwort 
                 FROM 
                    
    $tabelle1 
                WHERE 
                   username 
                LIKE 
                  '
    $username' LIMIT 1";
    $ergebnis mysql_query($abfrage);
    $row mysql_fetch_object($ergebnis);

    if(
    $row->passwort == $passwort)
        {
        
    $_SESSION["username"] = $username;
        echo 
    "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
        }
    else
        {
        echo 
    "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"//Diese ausgabe kommt immer nur
    /*Die Passwörter werden bei meiner Registrations Datei immer               
       Codiert*/
        
    }

    ?>
    Schönen Abend
    Zuletzt geändert von Skywalker077; 26.12.2007, 22:34.
    Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

  • #2
    Ich kann dir leider nicht helfen.

    Doch mich interessiert gerade was $tabelle1 da soll in der Abfrage O.o?

    und schneide mal deinen Kommentar, sonst kommen die cheffen hier und motzen ^^
    http://www.miks-world.ch

    http://www.genki-board.de.vu

    http://www.mediamiks.de.vu

    Kommentar


    • #3
      Das ist die tabelle oben ist doch ein include!
      Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

      Kommentar


      • #4
        Nabend,

        zu erstens:

        Code:
        $abfrage = "SELECT COUNT(username) AS num_user FROM $tabelle1 WHERE username = '$username' AND passwort = '$passwort'"
        Wenn $row->num_user genau 1 dann true ansonten false.
        Vorrausetzung ist, dass das Passwort auch als MD5-Summe in der DB steht!

        Zu zweitens:

        klick mich
        screennetz.de

        Kommentar


        • #5
          ach so klar ^^ hab kein inlcude vorher gesehen O.o ich werde alt -.-

          Jetzt weiss ich von wo mir der Script bekannt ist ^^
          php-einfach oder? ^^

          hab ich auch gemacht.
          Ich vergleich mal ^^
          http://www.miks-world.ch

          http://www.genki-board.de.vu

          http://www.mediamiks.de.vu

          Kommentar


          • #6
            Original geschrieben von zaubatrik
            Nabend,

            zu erstens:

            Code:
            $abfrage = "SELECT COUNT(username) AS num_user FROM $tabelle1 WHERE username = '$username' AND passwort = '$passwort'"
            Wenn $row->num_user genau 1 dann true ansonten false.
            Vorrausetzung ist, dass das Passwort auch als MD5-Summe in der DB steht!

            Zu zweitens:

            klick mich

            Die Summe ist als md5 in der Datenbank gespeichert!
            Und das mit dem Link danke,aber ich finde mein problem darin nicht!
            Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

            Kommentar


            • #7
              Bissi Debugging..?

              echo $password;
              echo $username;

              Query ausgeben und per Hand in sql reindrücken

              mysql_error();

              usw...

              Kommentar


              • #8
                meinst du so??

                PHP-Code:
                $username $_POST["username"];
                $passwort =$_POST["passwort"];

                $pass md5($passwort);

                $abfrage... 
                Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

                Kommentar


                • #9
                  Wenn Du die von mir vorgeschlagene Query verwendest muss natürlich deine If-Abfrage folgendermaßen ausschauen:

                  PHP-Code:
                  if ((int)$row->num_user === 1) { 
                  echo(
                  'OK');
                  } else {
                  echo(
                  'FEHLER');

                  Dann brauchst Du auch den MD5-Hash nicht zu laden. Was man mit Passwörtern (egal ob gehasht oder nicht) eh nicht machen sollte.
                  screennetz.de

                  Kommentar


                  • #10
                    was wird mit ((int)$row->num_user===1) bewirkt?
                    Habe jetzt die If abfrage ersetzt:
                    $row = mysql_fetch_object($ergebnis);

                    if ((int)$row->num_user === 1)
                    {
                    echo('OK');
                    }
                    else
                    {
                    echo('FEHLER');
                    }
                    Und wo speicher ich dann die Session?
                    $_SESSION["username"] = $username;

                    Der Code sieht jetzt so aus:
                    PHP-Code:
                    <?php
                      session_start
                    ();

                     
                    error_reporting(E_ALL);
                     Include 
                    "constant.php";
                    @
                    mysql_connect($server,$user,$passwort) or die (mysql_error());
                    mysql_select_db($datenbank) or die (mysql_error());

                    $username $_POST["username"];
                    $passwort $_POST["password"];

                    $pass md5($passwort);

                    $abfrage "SELECT COUNT(username) AS num_user 
                                      FROM 
                                        
                    $tabelle1 
                                      WHERE 
                               username = '
                    $username' AND passwort = '$passwort'"
                    $result mysql_query($abfrage);
                    $row mysql_fetch_object($result);

                    if ((int)
                    $row->num_user === 1
                        { 
                      echo(
                    'OK');
                        } 
                      else 
                       {
                      echo(
                    'FEHLER');
                       }
                    ?>
                    Das Passwort is jetzt immer noch nicht definiert?
                    Zuletzt geändert von Skywalker077; 27.12.2007, 23:40.
                    Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

                    Kommentar


                    • #11
                      Du must die Query schon an deine Variablen anpassen (siehe deine Passwort Variable). Die If-Abfrage prüft ob genau ein Datensatz zu dem Usernamen und dem Passwort gefunden wurden.
                      screennetz.de

                      Kommentar


                      • #12
                        Jetzt bekomm ich nix mehr auf die reihe...
                        Ich soll eine Variable an die query anpassen, aber wo soll ich bitte hier was anpassen?
                        PHP-Code:
                                   username '$username' AND passwort '$passwort'" 
                        Da wird doch gesagt er soll denn usernamen aus der datenbank mit der eingabe und dem passwort ebenfalls überprüfen!
                        Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

                        Kommentar


                        • #13
                          Wenn dein Passwort in der DB als MD5-Hash gespeichert ist dann brauchst Du auch einen MD5-Hash für das Passwort welches in der WHERE-Klausel verwendet wird. Und jetzt schau Dir doch einfach mal deinen Code an!
                          screennetz.de

                          Kommentar


                          • #14
                            Ja da muss statt die Variable des Passwortes die Variable der umwandlung in MD5 rein das wäre in meinem fall $Pass
                            Das sieht bei mir dann so aus
                            PHP-Code:
                            username '$username' AND passwort '$pass'"; 
                            aber dies funktioniert nicht.
                            Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

                            Kommentar


                            • #15
                              Versuchs mal mit dieser Prüfung
                              PHP-Code:
                              if($row_passwort == $passwort)
                                      {
                                      
                              $_SESSION["username"] = $username;
                                      echo 
                              "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
                                      }
                                  else
                                      {
                                      echo 
                              "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"//Diese ausgabe kommt immer nur
                                  /*Die Passwörter werden bei meiner Registrations Datei immer               
                                     Codiert*/
                                      

                              also Gesamtcode
                              PHP-Code:
                              <?php
                                    session_start
                              ();

                                   
                              error_reporting(E_ALL);
                                   Include 
                              "constant.php";
                                  @
                              mysql_connect($server,$user,$passwort) or die (mysql_error());
                                  
                              mysql_select_db($datenbank) or die (mysql_error());

                                  
                              $username $_POST["username"];
                                  
                              $passwort md5($_POST["password"]);

                                  
                              $abfrage "SELECT
                                                  username,
                                                  passwort 
                                               FROM 
                                                  
                              $tabelle1 
                                              WHERE 
                                                 username 
                                              LIKE 
                                                '
                              $username' LIMIT 1";
                                  
                              $ergebnis mysql_query($abfrage);
                                  
                              $row mysql_fetch_object($ergebnis);

                                  if(
                              $row_passwort == $passwort)
                                      {
                                      
                              $_SESSION["username"] = $username;
                                      echo 
                              "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
                                      }
                                  else
                                      {
                                      echo 
                              "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"//Diese ausgabe kommt immer nur
                                  /*Die Passwörter werden bei meiner Registrations Datei immer               
                                     Codiert*/
                                      
                              }

                                  
                              ?>
                              oder
                              PHP-Code:
                              <?php
                                    
                              if(!isset($_SESSION)){
                                    
                              session_start();
                                    }

                                   
                              error_reporting(E_ALL);
                                   Include 
                              "constant.php";
                                  
                              $connect = @mysql_connect($server,$user,$passwort) or die (mysql_error());
                                  
                              $username $_POST["username"];
                                  
                              $passwort md5($_POST["password"]);
                                  
                                  
                              $colname_login_abfrage "-1";
                              if (isset(
                              $_POST['username'])) {
                                
                              $colname_login_abfrage $_POST['username'];
                              }
                              mysql_select_db($database$connect);
                              $query_login_abfrage sprintf("SELECT * FROM $tabelle WHERE username = %s"GetSQLValueString($colname_login_abfrage"text"));
                              $login_abfrage mysql_query($query_login_abfrage$connect) or die(mysql_error());
                              $row_login_abfrage mysql_fetch_assoc($login_abfrage);
                              $totalRows_login_abfrage mysql_num_rows($login_abfrage);
                                  


                                  if(
                              $row_passwort == $passwort)
                                      {
                                      
                              $_SESSION["username"] = $username;
                                      echo 
                              "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
                                      }
                                  else
                                      {
                                      echo 
                              "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"//Diese ausgabe kommt immer nur
                                  /*Die Passwörter werden bei meiner Registrations Datei immer               
                                     Codiert*/
                                      
                              }

                                  
                              ?>
                              musst eventuell noch das eine oder andere anpassen
                              Wer Rechtschreibfehler findet darf sie behalten!
                              meine hps
                              http://jl-soft.de
                              http://john-lebherz.org
                              http://jungfraustafette.com
                              http://salmson.de
                              http://ecurie-anges-bleus.eu]

                              Kommentar

                              Lädt...
                              X