Login-Script Problem

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

  • Login-Script Problem

    hallo

    Ich habe ein Login Script, aber leider funktioniert das irgendwie nicht. Wenn ich mich einlogge, egal was ich eingebe, spuckt er mir immer heraus "Ihre Anmeldedaten waren nicht korrekt". Hier mal die beiden scripte config.php und login.php

    PHP-Code:
    //config.php
    $dbname = "newsscript";
     $con= mysql_connect('localhost','root','') or die(mysql_error());
         mysql_select_db('newsscript',$con) or die(mysql_error());
    function connect()
    {
        $con= mysql_connect('localhost','root','') or die(mysql_error());
         mysql_select_db('newsscript',$con) or die(mysql_error());
    }

    function check_user($name, $pass)
    {
        $sql="SELECT UserId
        FROM users
        WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
        LIMIT 1";
        $result= mysql_query($sql) or die(mysql_error());
        if ( mysql_num_rows($result)==1)
        {
            $user=mysql_fetch_assoc($result);
            return $user['UserId'];
        }
        else
            return false;
    }

    function login($userid)
    {
        $sql="UPDATE users
        SET UserSession='".session_id()."'
        WHERE UserId=".$userid;
         mysql_query($sql);
    }
    //
    //login.php:
    <?
    session_start();
    include ("config.php");
    if (isset($_POST['login']))
    {
        $userid=check_user($_POST['username'], $_POST['userpass']);
        if ($userid!=false)
            login($userid); 
        else
            echo 'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!logged_in())
        echo '<form method="post" action="login.php">
               <table>
                <tr>
                 <td>
                  <label>Benutzername:</label>
                 </td>
                 <td>
                  <input name="username" type="text"><br>
                 </td>
                <tr>
                 <td>
                  <label>Passwort:</label>
                 </td>
                 <td>
                  <input name="userpass" type="password" id="userpass"><br>
                 </td>
                </tr>
               </table>
             <input name="login" type="submit" id="login" value="Einloggen">
            </form>

            ';
    else
        echo "Du wurdest erfolgreich eingeloggt...<a href=\"logged_in.php\"><b>hier</b></a> geht´s weiter";

        echo "<br><br>";
        echo '<a href="logout.php">Ausloggen</a>';

    ?>
    //
    Ich hoffe ihr könnt mir helfen!!

    mfg

  • #2
    mach in der funktion check_user vor dem $result= mal
    PHP-Code:
    echo $sql
    ausgabe?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      SELECT UserId FROM users WHERE UserName='go' AND UserPass=MD5('go') LIMIT 1Ihre Anmeldedaten waren nicht korrekt!

      ?

      Kommentar


      • #4
        und wie sieht der datensatz in der tabelle dazu aus?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          PHP-Code:
          <?
          include("config.inc.php");

          $db_name = "newsscript";


          mysql_select_db($db_name);
          $sql = "
          CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,
            UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL
            default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default
            '', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )";

          $ergebnis = mysql_query($sql) or DIE(mysql_error());
          ?>
          Damit habe ich die tabelle und Datenbank erstellt.

          Kommentar


          • #6
            damit hast du die tabelle erstellt, aber noch keinen datensatz da reingeschrieben

            schau dir mein tut nochmal an (ich denke mal, es war meins, wodu das her hast, kommt mir so bekannt vor), da is auch ein INSERT-statement, mit dem ein benutzer angelegt wird
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              achso, das was du meinst ist wahrscheinlich das hier:
              PHP-Code:

              <?



              include("config.php");


              mysql_select_db($db_name, $con);
              $sql = "INSERT INTO users SET UserName='$user_name', UserPass=MD5('§passwort'),
                UserMail='$mail' ";


              $ergebnis = mysql_query($sql, $con);



              echo mysql_error();

              ?>

               <form action="<?=$PHP_SELF?>" method="post">


              <table border=0 cellpadding=0 cellspacing=0>
               <tr>
                <td>
                 User Name:
                </td>
                <td>
                 <input type="text" name="user_name" size="24">
                </td>
               </tr>
               <tr>
                <td>
                 Passwort:
                </td>
                <td>
                 <input type="text" name="passwort" size="24">
                </td>
               </tr>
               <tr>
                <td>
                 E-Mail:
                </td>
                <td>
                 <input type="text" name="mail" size="24">
                </td>
               </tr>
              </table>


                <input type="submit" name="sql" value="Abschicken">
               </form>

              Kommentar


              • #8
                nein, ich meine, dass, was momentan in der tabelle steht

                schau doch einfach mal mit phpmyadmin nach
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Hab mal von der "users" tabelle n screen gemacht. findest im Anhang.
                  Angehängte Dateien

                  Kommentar


                  • #10
                    Original geschrieben von g0n
                    SELECT UserId FROM users WHERE UserName='go' AND UserPass=MD5('go') LIMIT 1Ihre Anmeldedaten waren nicht korrekt!
                    durchaus verständlich, du hast ja keinen user namens "go" in der datenbank, sondern nur einen user mit dem namen "me"

                    und wenn du "go" md5-verschlüsselst, kommt "34d1f91fb2e514b8576fab1a75a89a6b" raus und nicht das, was in deinem screenshot zu sehen is
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      mh sorry, hab nach dem screenshot machen den user go gelöscht udn den "me" angelegt.
                      Erklär bitte nochmal das mit dem verschlüsseln genauer ? Was hab ich da jetzt falsch gemacht ?

                      Kommentar


                      • #12
                        mhh muss man bei php nicht gross und kleinschreibung beachten?

                        Siehe Tabelle UserID und abfrage UserId oder ist das egal gewesen?
                        mfg
                        marc75

                        <Platz für anderes>

                        Kommentar

                        Lädt...
                        X