Ergebnis 1 bis 9 von 9

Thema: [Php Mysql] Daten vergleichen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ähm, das hab ich net... aber ich kann dir den momentanen code schicken...

    Ich eitier das dann hier rein


    Hier der Code:

    PHP-Code:
    <?php
    include ("dbconnect.php");
    ?>
    <html>
    <head>
    <h1>
    <center>Willkommen!</center>
    <h3><br>
    <CENTER>Hier können sie sich anmelden!</CENTER>
    </h3>
    </h1>
    </head>
    <body>
    Um sich anzumelden müssen sie einige Daten angeben. Diese Daten werden nicht an Dritte weitergegeben, sondern ausschließlich für diese Seite verwendet. Unter Umständen benutzen wir ihre E-Mail Adresse um ihnen einen Newsletter zu zuschicken.<br><br><br>
    <form>
    <font size=2 color=red>
    Bitte geben sie hier ihren gewünschten Usernamen ein:<br>
    <input name="username"><br><br>
    Bitte geben sie hier ihr gewünschtes passwort ein:<br>
    <input type="password" name="userpasswort"><br>
    Bitte bestätigen sie ihr Passwort:<br>
    <input type="password" name="passwortbestätigung"><br><br>
    Bitte geben sie ihre E-Mail Adresse ein:<br>
    <input name="usermail"><br><br>
    Bitte geben sie hier ihren BNet Account an:<br>
    <input name="account"><br><br><br>
    Bitte überprüfen sie ihre Angaben bevor sie ihre Angaben abschicken!<br>
    <input type="submit" name="abschicken" value="Anmelden"><br>
    </font>
    </form>
    <?php
    if (isset($abschicken))
    {
    $prüfpw "SELECT nick FROM user WHERE nick = '$username'";
    if (
    $prüfpw == $username)
    {
    echo 
    "Ihr Username ist bereits belegt!";
    }
    else
    {
    if (
    $userpasswort == $passwortbestätigung)
    {
    if (
    $account != "")
    {
    if (
    $usermail != "")
    {
    //Datenbankeinträge machen:
    $datenbank "INSERT INTO user (nick, passwort, account, email) VALUES ('$username', '$userpasswort', '$account', '$usermail')";
    $eintragen mysql_query($datenbank);
    echo 
    '<meta http-equiv="refresh"content="0;URL=registriert.html">';
    }
    else
    {
    echo 
    'Anmeldung fehlgeschlagen. Sie müssen eine Mailadresse auswählen!';
    }
    }
    else 
    {
    print 
    "Anmeldung fehlgschlagen! Bitte geben sie einen gültigen BNet Account an!";
    }
    }
    else
    {
    print 
    "Anmeldung fehlgeschlagen! Ihr Passwort stimmt nicht mit der passwortbestätigung überein!";
    }
    }
    }
    ?>
    </body>
    </html>

  2. #2
    Dürfte ich annehmen, dass du diese if-Abfrage meinst?
    PHP-Code:
    $prüfpw "SELECT nick FROM user WHERE nick = '$username'";
    if (
    $prüfpw == $username
    Wenn ja, ist es klar, dass es nicht funktioniert, du vergleichst deine SQL-Abfrage mit dem Usernamen, nicht das Ergebnis. Die Abfrage ergibt nur True, wenn der Username SELECT nick FROM user WHERE nick = '$username' lautet.
    Folgender Code sollte funktionieren:
    PHP-Code:
    $pruefpw "SELECT nick FROM user WHERE nick = '" $_GET['username'] . "'";
    $result mysql_query($pruefpw$dblink); # für $dblink den Rückgabewert von [tt]mysql_connect()[/tt] aus dbconnect.php einsetzen
    if(mysql_num_rows($result) > 0
    Änderungen:
    1. Ich vergleiche nicht, die Abfrage mit dem Usernamen, sondern überprüfe, ob sie mindestens ein Ergebnis (= mindestens einen User mit diesem Namen) zurückgibt.
    2. Ich habe $prüfpw mal in $pruefpw umbenannt, ich würde keine Non-ASCII-Zeichen in Variablen-, Funktions- und Klassennamen verwenden
    3. Ich habe $username durch $_GET['username'] ersetzt, damit es auf wirklich allen Servern funktioniert.
    4. Ich habe den SQL-String mit Verkettung zusammengebaut. Eher prinzipiell bedingt

    Geändert von Lukas (27.05.2005 um 11:00 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •