• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Werte in Datenbank prüfen

xFrager

Mitglied
Hallo,

Ich möchte ein kleines Login System bauen und mein Code sieht bis jetzt so aus:

PHP:
                <?php


                    if(isset($_POST['abschicken'] )) {
                        /*
                        * POST-Daten aus Formular abfangen...
                        */
                       
                        $Username = mysql_real_escape_string($_POST['username']);
                        $Password = mysql_real_escape_string($_POST['pwd']);
                       
                        $CheckAcc = mysql_query("SELECT `id` FROM `login` WHERE `user` = '$Username' AND `passwort` = '$Password' LIMIT 1")or die (mysql_error());
                           
                        if(mysql_num_rows($CheckAcc) == 1)
                            {
                                // Der Benutzer hat richtige Daten angegeben..
                                echo "Richtig";
                            } else {
                                // Der Benutzer hat falsche Daten angegeben..
                                echo "Falsch";
                            }
                    }
                ?>
 
Werbung:
huch, da habe ich es aussversehen schon erstellt... o_O

Zumindest stimmt alles mit der Verbindung zur Datenbank, das habe ich schon geprüft.
Hier der Code von der Form
HTML:
                <form method="POST" autocomplete="off">
                    <div class="logo"><span class="glyphicon glyphicon-user"></span></div><input class="textbox" type="text" name="username" placeholder="Account-Name"><br>
                    <div class="logo"><span class="glyphicon glyphicon-warning-sign"></span></div><input class="textbox" type="password" name="pwd" placeholder="Passwort"><br>
                    <button id="pruefen" name="abschicken" type="submit">Prüfen</button>
                </form>
 
Hi, leider fehlt hier ne Frage. Bekommst du einen Fehler wieder oder was funktioniert nicht? Oder was willst du wissen?

Lass dir mal den query ausgeben

echo "SELECT `id` FROM `login` WHERE `user` = '$Username' AND `passwort` = '$Password' LIMIT 1";

Achja und anstelle von mysql benutze lieber PDO oder mysqli, da mysql deprecated ist und in späteren PHP Versionen nicht mehr enthalten sein wird

Und noch etwas, schau dir mal prepared statements an, damit kannst du dir das hier
$Username = mysql_real_escape_string($_POST['username']);
$Password = mysql_real_escape_string($_POST['pwd']);
sparen
 
Werbung:
Wenn ich
PHP:
echo $AccCheck;
nutze, bekomme ich dieses:
"Resource id #5Falsch"

und in PHPMyAdmin:
Code:
 MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). (Die Abfrage dauerte 0.0116 Sekunden)
 
Zuletzt bearbeitet:
Wie gesagt, lass dir mal den query ausgeben ob der query auch alle Werte richtig enthält. Dann kopier dir mal die ausgabe und jage den query mal in phpmyadmin durch.
 
Werbung:
Ähmmmmm, was ist jetzt daran nicht zu verstehen? Entweder stimmt der Username oder das Passwort nicht!
 
Also bei dem gewurstel was du da veranstaltest, wundert mich gar nichts.
Im ersten Beitrag schreibst du
PHP:
$CheckAcc = ...

Und jetzt auf einmal
PHP:
$AccCheck

Dann haben wir hier von dir noch keine Antwort auf den Hinweis von B3nnoX bekommen (Du sollst dir das Query ausgeben lassen um zu schauen was da drin steht.

Aufgabe 1: Befolge die Hinweise/Ratschläge die dir hier gegeben werden und gib Rückmeldung dazu!
Aufgabe 2: Befasse dich mit den Debugging-Grundlagen!
 
Zurück
Oben