Liebe Leser,
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Ergebnis 1 bis 9 von 9
  1. #1
    janick94 ist offline Byte
    Mein System
    MainboardECS GeForce7050M-M
    ProzessorAMD Athlon 64 X2 Dual Core Processor 6000+ (3.10 GHz)
    GrafikkarteNVIDIA GeForce 9500 GT
    RAMDDR2-800 DDR2 SDRAM (4 GB)
    Festplatte(n)WDC WD5000AAJS-00A8B0 ATA Device
    SoundkartenVIDIA MCP67/68
    BetriebssystemWindows 7 Professional 64 Bit
    AV-SoftwareAvira AntiVir Personal
    FirewallWindows Firewall
    Art des InternetzugangsDSL-6000
    Registriert seit
    11.2009
    Beiträge
    21

    Login-Fehler - PHP

    Hallo,

    ich habe folgendes Registrierungs-Script:

    PHP-Code:
    <?php
    include 'header.php';
    ?>

    <?php

    $verbindung 
    mysql_connect("xxxxxxxxxxxx")
    or die (
    "Keine Verbindung zur Datenbank möglich. Bitte informiere den Webmaster.");

    mysql_select_db("xxxxxxxxx") or die ("Keine Verbindung zur Datenbank möglich. Bitte informiere den Webmaster.");

    $username $_POST["name"];
    $passwort $_POST["pass"];
    $email $_POST["email"];

    $passwort md5($passwort);

    $result mysql_query("SELECT id FROM user WHERE name LIKE '$username'");
    $menge mysql_num_rows($result);

    if(
    $menge == 0) {
        
    $eintrag "INSERT INTO user (name, passwort, email) VALUES ('$username', '$passwort', '$email')";
        
    $eintragen mysql_query($eintrag);
        
        if(
    $eintragen == true) {
            echo 
    "Vielen Dank, dein Account wurde erfolgreich erstellt. Du kannst dich nun einloggen. Viel Spaß!";
            } else {
                echo 
    "Fehler beim Speichern des Benutzernamens.";
                }
                }
                
    else {
            echo 
    "Der Benutzername ist bereits vergeben. Bitte versuche es erneut und wähle einen anderen Namen.";
    }

    ?>

    <?php
    include 'footer.php';
    ?>
    und folgendes Login-Script:

    PHP-Code:
    <?php
    session_start
    ();
    include 
    'header.php';
    ?>

    <?php

    $verbindung 
    mysql_connect("xxxxxxxxxxxxx")
    or die (
    "Keine Verbindung zur Datenbank möglich. Bitte informiere den Webmaster.");

    mysql_select_db("xxxxxxxxxxxx") or die ("Keine Verbindung zur Datenbank möglich. Bitte informiere den Webmaster.");

    $username $_POST["name"];
    $passwort md5($_POST["pass"]);

    $abfrage "SELECT name, passwort FROM user WHERE name LIKE '$username'";
    $ergebnis mysql_query($abfrage);
    $row mysql_fetch_object($ergebnis);

    if(
    $row->pass == $passwort) {
        
    $_SESSION["name"] = $username;
        echo 
    "Danke, du hast dich erfolgreich eingeloggt. <a href=area/start.php>Zum Login-Bereich</a>";
        }
        else
        {
        echo 
    "Der Benutzername und/oder das Passwort waren falsch.";
        }

    ?>

    <?php
    include 'footer.php';
    ?>
    Die Registrierung funktioniert super. Wenn ich mich dann einloggen will, bekomme ich die Meldung "Der Benutzername und/oder das Passwort waren falsch.", allerdings habe ich alles richtig eingegeben. Woran könnte das liegen?

  2. #2
    Registriert seit
    01.2003
    Beiträge
    379
    Schau mal in folgende Zeile:
    Code:
    if($row->pass == $passwort) {
    Müsste es hier statt "pass" nicht "passwort" heißen, da ja die Spalte in der Datenbank auch "passwort" heißt?


    Noch etwas, was nichts mit deinem Problem zu tun hat:
    Sehe ich das richtig, dass du in jeder php Datei die Zugangsdaten für die Datenbank stehen hast? Wenn ja, überlege mal, ob du das nicht in eine zentrale Datei auslagern möchtest und per include() einbinden. Wenn sich die Daten mal ändern, brauchst du das dann nur an einer Stelle korrigieren.

  3. #3
    janick94 ist offline Byte
    Mein System
    MainboardECS GeForce7050M-M
    ProzessorAMD Athlon 64 X2 Dual Core Processor 6000+ (3.10 GHz)
    GrafikkarteNVIDIA GeForce 9500 GT
    RAMDDR2-800 DDR2 SDRAM (4 GB)
    Festplatte(n)WDC WD5000AAJS-00A8B0 ATA Device
    SoundkartenVIDIA MCP67/68
    BetriebssystemWindows 7 Professional 64 Bit
    AV-SoftwareAvira AntiVir Personal
    FirewallWindows Firewall
    Art des InternetzugangsDSL-6000
    Registriert seit
    11.2009
    Beiträge
    21
    Danke für deine Hilfe, es funktioniert aber leider nicht. Hat jemand eine andere Idee, woran es liegen könnte?

  4. #4
    Registriert seit
    01.2003
    Beiträge
    379
    Laut http://php-wiki.de/index.php/Functio...l-fetch-object unterschiedet die Funktion mysql_fetch_object zwischen Groß- und Kleinschreibung. Wie heißt denn die Spalte genau? Hast du Sie in der DB vielleicht "Passwort" genannt?

  5. #5
    janick94 ist offline Byte
    Mein System
    MainboardECS GeForce7050M-M
    ProzessorAMD Athlon 64 X2 Dual Core Processor 6000+ (3.10 GHz)
    GrafikkarteNVIDIA GeForce 9500 GT
    RAMDDR2-800 DDR2 SDRAM (4 GB)
    Festplatte(n)WDC WD5000AAJS-00A8B0 ATA Device
    SoundkartenVIDIA MCP67/68
    BetriebssystemWindows 7 Professional 64 Bit
    AV-SoftwareAvira AntiVir Personal
    FirewallWindows Firewall
    Art des InternetzugangsDSL-6000
    Registriert seit
    11.2009
    Beiträge
    21
    Die Spalte heißt "passwort", also klein geschrieben.

  6. #6
    Registriert seit
    01.2003
    Beiträge
    379
    Ich habe das Skript jetzt mal auf meinen Rechner kopiert und dort laufen lassen. Wie du geschrieben hast, hat es nicht funktioniert.

    Wenn ich dann aber, wie schon in meinem ersten Post geschrieben habe, die Zeile
    if($row->pass == $passwort) {
    durch
    if($row->passwort == $passwort) {
    ersetzt habe, hat es funktioniert.

    D.h. das Skript arbeitet selbst korrekt. Was jetzt noch falsch sein kann ist die Datei, die das Skript aufruft. Also dort, wo das Formular drin ist. Poste mal den Quellcode dieser Datei.

  7. #7
    janick94 ist offline Byte
    Mein System
    MainboardECS GeForce7050M-M
    ProzessorAMD Athlon 64 X2 Dual Core Processor 6000+ (3.10 GHz)
    GrafikkarteNVIDIA GeForce 9500 GT
    RAMDDR2-800 DDR2 SDRAM (4 GB)
    Festplatte(n)WDC WD5000AAJS-00A8B0 ATA Device
    SoundkartenVIDIA MCP67/68
    BetriebssystemWindows 7 Professional 64 Bit
    AV-SoftwareAvira AntiVir Personal
    FirewallWindows Firewall
    Art des InternetzugangsDSL-6000
    Registriert seit
    11.2009
    Beiträge
    21
    Das Formular, mit dem man sich einloggt:

    HTML-Code:
    <?php
    include 'header.php';
    ?>
    
    <h2>Login</h2><p>
    
    <form method="post" action="login2.php">
    <table border="0">
    <tr>
    <td>Benutzername</td>
    <td><input type="text" name="name"></td>
    </tr>
    <tr>
    <td>Passwort</td>
    <td><input type="password" name="pass"></td>
    </tr>
    </table>
    <p>
    <input type="submit" value="Login">
    </form>
    
    <?php
    include 'footer.php';
    ?>

  8. #8
    Registriert seit
    01.2003
    Beiträge
    379
    OK, auch das habe ich getestet und es funktioniert korrekt.

    Hast du denn auch die eine Zeile korrigiert, die ich dir geschrieben habe?

  9. #9
    janick94 ist offline Byte
    Mein System
    MainboardECS GeForce7050M-M
    ProzessorAMD Athlon 64 X2 Dual Core Processor 6000+ (3.10 GHz)
    GrafikkarteNVIDIA GeForce 9500 GT
    RAMDDR2-800 DDR2 SDRAM (4 GB)
    Festplatte(n)WDC WD5000AAJS-00A8B0 ATA Device
    SoundkartenVIDIA MCP67/68
    BetriebssystemWindows 7 Professional 64 Bit
    AV-SoftwareAvira AntiVir Personal
    FirewallWindows Firewall
    Art des InternetzugangsDSL-6000
    Registriert seit
    11.2009
    Beiträge
    21
    Ich habe es geändert, es funktioniert aber immer noch nicht ...

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
12
Content Management by InterRed