kostenloser Webspace werbefrei: lima-city


Login-Skript funktioniert nicht richtig

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    cdot

    Kostenloser Webspace von cdot

    cdot hat kostenlosen Webspace.

    Salvete omnes!

    Ich habe mir heute mittels diesem Tutorial http://www.tutorials.de/forum/php-tutorials/9684-php-mysql-login-system-mit-sessions.html ein Login-Script erstellt.
    Ich habe auch 2 Testbenutzer angelegt (benutzer: test, passwort: 1234), allerdings bekomme ich bei jedem Versuch mich anmelden zu wollen die Meldung: "Die Zugangsdaten waren ungültig. "
    Gibt es dafür irgendeinen ersichtlichen Grund...?

    Ich habe im Grunde 1:1 das Tut. befolgt.
    Geändert habe ich nur, dass ich die Felder "Nachname" und "Vorname" weglasse...

    Vielen Dank im Voraus für eure Hilfe!
    mfg
    Cdot
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi.
    Poste mal genau, was du geschrieben hast.
    Vielleicht ist ja ein Tipp-Fehler oder ein anderer Fehler drin.

    LG
    Play5
  4. Autor dieses Themas

    cdot

    Kostenloser Webspace von cdot

    cdot hat kostenlosen Webspace.

    intern.php:

    <?php
    include ("checkuser.php");
    ?>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Unbenanntes Dokument</title>
    </head>

    <body>

    BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
    Nickname: <?php echo $_SESSION["user_nickname"]; ?><br>
    <hr>
    <a href="logout.php">Ausloggen</a>

    </body>
    </html>

    login.php:

    <?php
    session_start ();

    $connectionid = mysql_connect ("mysql.lima-city.de", "USER*****", "********");
    if (!mysql_select_db ("db_92657_1", $connectionid))
    {
    die ("Keine Verbindung zur Datenbank");
    }

    $sql = "SELECT ".
    "Id, Nickname ".
    "FROM ".
    "benutzerdaten ".
    "WHERE ".
    "(Nickname like '".$_REQUEST["name"]."') AND ".
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
    $result = mysql_query ($sql);

    if (mysql_num_rows ($result) > 0)
    {

    $data = mysql_fetch_array ($result);

    $_SESSION["user_id"] = $data["Id"];
    $_SESSION["user_nickname"] = $data["Nickname"];

    header ("Location: intern.php");
    }
    else
    {
    header ("Location: formular.php?fehler=1");
    }
    ?>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Unbenanntes Dokument</title>
    </head>

    <body>
    </body>
    </html>

    logout.php:

    <?php
    ob_start ();

    session_start ();
    session_unset ();
    session_destroy ();

    header ("Location: formular.php");
    ob_end_flush ();
    ?>

    checkuser.php:

    <?php
    session_start ();
    if (!isset ($_SESSION["user_id"]))
    {
    header ("Location: formular.php");
    }
    ?>

    formular.php:

    <?php session_start (); ?>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Unbenanntes Dokument</title>
    </head>

    <body>

    <?php
    if (isset ($_REQUEST["fehler"]))
    {
    echo "Die Zugangsdaten waren ungültig.";
    }
    ?>
    <form action="login.php" method="post">
    Name: <input type="text" name="name" size="20"><br>
    Kennwort: <input type="password" name="pwd" size="20"><br>
    <input type="submit" value="Login">
    </form>

    </body>
    </html>
  5. privatecitypage

    Kostenloser Webspace von privatecitypage

    privatecitypage hat kostenlosen Webspace.

    Es gab schon rechlich user die diesen Ligin Script benutzt haben und Probleme gemeldet haben.

    Es gibt 100 andere die Funktionieren.

    Zum Beispiel auf Web Banana

  6. $sql = "SELECT ".
    "Id, Nickname ".
    "FROM ".
    "benutzerdaten ".
    "WHERE ".
    "(Nickname like '".$_REQUEST["name"]."') AND ".
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
    $result = mysql_query ($sql);

    es schaut vorallem hier richtig hässlich aus...

    ich würde es eifnach so lösen:
    $name = $_POST["name"];
    $kennwort = md5($_POST["pwd"]);
    $result = mysql_query("SELECT Id, Nickname FROM benutzerdaten WHERE Nickname = $name AND Kennwort = $kennwort") or die (mysql_error());
  7. Autor dieses Themas

    cdot

    Kostenloser Webspace von cdot

    cdot hat kostenlosen Webspace.

    Vielen Dank erstmal für die posts!
    Ich werde zuerst einmal versuchen, den Code etwas zu verändern... Wenn das alles nichts hilft werde ich mich "web-banana" widmen...;-)
    mfg Cdot

    habe mir jetzt das Skript von web-banana geholt. Nun hat sich lediglich mein Problem geändert: und zwar bekomme ich jedesmal die meldung: falsche Passwort!
    ich habe wieder 2 Testbenutzer in der Tabelle angelegt und bekomme trotzdem nur diese Meldung...

    Beitrag zuletzt geändert: 31.1.2010 15:36:14 von cdot
  8. Ist das Passwort in der Datenbank denn auch md5-verschlüsselt? bei der abfrage ist es das zumindest...müsstest du mal überprüfen.
  9. hi
    ich habe mal dein kode angesehen und minimal an meine tabelle angepasst:
    ... mysql_connect
    ... mysql_select_db
    ...
    $_SESSION["user_id"] = $data["id"];
    $_SESSION["user_nickname"] = $data["username"];
    weil es eben so ist und sehe da, auf anhieb hat es funktioniert.

    demnach was mir da einfällt: du hast unsaubere daten in der db. bei "insert ..." würde ich mir angewöhnen trim zu verwenden. user haben unheimliche methoden mit der tasteneingabe umzugehen (*zehnfingerchenbrech* :o)). (oder zumindest beim auslesen, was mir aber als datenverfälschung zumutet).

    sehe dir deine daten in der db an (trailing spaces??). das programm rennt ;o)

    ==== edit
    ja was vergessen! das ist schon auch deshalb so, weil 'like' in der query nicht funktioniert. um das mal zu ändern muss die query wie folgt modifiziert werden:
    $sql = "SELECT  Id, Nickname ".
    "FROM  benutzerdaten ".
    "WHERE  (Nickname like '%".$_REQUEST["name"]."%') AND ".
    "  (Kennwort = '".md5 ($_REQUEST["pwd"])."')";
    (also die zwei '%' zeichen!)
    das halte ich allerdings auch nicht unproblematisch! die menge wird mal hie und da eine mehr als nur einermenge!! dagegen ist der skript nicht gewappnet!


    Beitrag zuletzt geändert: 23.2.2010 19:15:52 von czibere
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!