radiohead1 Geschrieben 22. Oktober 2009 Geschrieben 22. Oktober 2009 Moin, ich bin grad eingestiegen in die PHP-Programmierung und bastel mir gerade ein Login/Register -Skript. Nun hab ich ein Problem. Der beide SQL-Befehlszeilen gehen ganz normal auszuführen. Nur der vergleich ob der Benutzername schon vergeben ist liefert immer das gleiche ergebnis. Egal ob es den Benutzer wirklich schon gibt, oder nicht. 2. Problem ist das er den INSERT nicht ausführt. Auch wenn der vergleich nicht funktioniert, der neue eintrag in die Tabelle sollte ausgeführt werden. Hat jemand eine Idee ?!? radiohead1 <?php include("mysql.php"); $reguser = $_POST["reguser"]; $regpassw1 = $_POST["regpassw1"]; $regpassw2 = $_POST["regpassw2"]; if($regpassw1 != $regpassw2) { echo "Password stimmt nicht überein"; } else { $queryreg = "Select username from users where username like '" & $reguser & "'"; $result = mysql_query($queryreg); if($result == $reguser) { echo "Benutzername schon vergeben"; } else { $queryregister = "INSERT INTO users (username, password) VALUES ('" & $reguser & "', '" & $regpassw1 & "')"; $result1 = mysql_query($queryregister); echo "Sie sind registriert"; } } mysql_close(); ?>[/PHP] Zitieren
T3D Geschrieben 22. Oktober 2009 Geschrieben 22. Oktober 2009 zu 1. solltest du dir mal angucken was in "$result" drinsteht... da steht naemlich nicht der username drin zu 2. lass dir mal ne fehlermeldung ausgeben -> PHP: mysql_error - Manual Ted Zitieren
MorpheusXXL Geschrieben 22. Oktober 2009 Geschrieben 22. Oktober 2009 Hi, Wandle das hier .... $queryreg = "Select username from users where username like '" & $reguser & "'"; $result = mysql_query($queryreg); if($result == $reguser) { echo "Benutzername schon vergeben"; }[/PHP] mal in das hier um: [PHP] $queryreg = "Select username from users where username = $reguser"; $result = mysql_query($queryreg); $row = mysql_fetch_assoc($result); if ($row['username'] == $reguser ) { echo "Benutzername schon vergeben"; } Zitieren
EckY Geschrieben 22. Oktober 2009 Geschrieben 22. Oktober 2009 Außerdem könntest du dich mal über SQL-Injections schlau machen. SQL-Injection ? Wikipedia Eingaben vom Benutzer sollten nicht ungefiltert in Datenbankabfragen übernommen werden. PHP: mysql_real_escape_string - Manual $regpassw1 = mysql_real_escape_string($_POST["regpassw1"]); $regpassw2 = mysql_real_escape_string($_POST["regpassw2"]); [/PHP] Zitieren
el_pollo_diablo Geschrieben 23. Oktober 2009 Geschrieben 23. Oktober 2009 wenn du deine ersten schritte erfolgreich abgeschlossen hast, würde ich dir raten, dich in PEAR (umfangreiche PHP-Klassenbibliothek) hier speziell Quickform2 (Klassen für Formulare), Auth (Klassen für Authentifizierung) und Smarty (Templateengine zur Trennung von Design und Code) einzulesen. auch wenn die einarbeitung einiges an zeit erfordert und für einen anfänger am anfang erschlagend wirkt, ist der spätere nutzen bei der entwicklung von wirklich umfangreichen softwarelösungen enorm. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.