MySQL login klappt nicht ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
benutzername
code
datenbank
eintrag
eintragen
email
fehler
feld
login
menge
nachname
not
ordner
spalte
speichern
tabelle
test
verbindung
vorname
-
So jetzt hab ich den Fehler aber ;)
Und zwar: ändere deine Tabelle:
id int(10) UNSIGNED auto_increment
Vorname varchar(150) latin1_swedish_ci
Nachname varchar(150) latin1_swedish_ci
EMail varchar(150) latin1_swedish_ci <-- "-" entfernt (WICHTIG!)
Benutzername varchar(150) latin1_swedish_ci <-- "z" eingefügt
Passwort varchar(32) latin1_swedish_ci
und dann folgenden Code:
<?php $verbindung = mysql_connect("mysql.lima-city.de", "USER....." , "Passwort") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_....._1") or die ("Datenbank konnte nicht ausgewählt werden"); $username = $_POST["username"]; $passwort = $_POST["passwort"]; $vorname = $_POST["vorname"]; $nachname = $_POST["nachname"]; $email = $_POST["email"]; if($passwort != $passwort2 OR $username == "" OR $passwort == "") { echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>"; exit; } $passwort = md5($passwort); $result = mysql_query("SELECT id FROM login WHERE username = '$username'"); $menge = mysql_num_rows($result); if($menge == 0) { $eintrag = "INSERT INTO login (id, Vorname, Nachname, EMail, Benutzername, Passwort) VALUES ('', '$vorname', '$nachname', '$email', '$username', '$passwort' )"; $eintragen = mysql_query($eintrag); if($eintragen == true) { echo "Benutzername <b>$username</b> wurde erstellt. <a href=\"login.html\">Login</a>"; } else { echo "Fehler beim Speichern des Benutzernames. <a href=\"eintragen.html\">Zurück</a>"; } } else { echo "Benutzername schon vorhanden. <a href=\"eintragen.html\">Zurück</a>"; } ?>
Das Problem war der Bindestrich beim Spaltenname E-Mail, deswegen hab ich ihn in EMail umbenannt...
Beitrag zuletzt geändert: 10.2.2010 20:39:43 von buechsdeluxe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
$result = mysql_query("SELECT id FROM login WHERE username = '$username'");
Muss natürlich
$result = mysql_query("SELECT id FROM login WHERE Benutzername = '$username'");
heißen.
Du bekommst ja eine Fehlermeldung, also versuche doch einfach mal anhand dieser den Fehler zu finden... -
Kannst du mal gucken : http://philip-felder.lima-city.de/Test/Neuer%20Ordner/eintragen.html
-
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/philip-felder/html/Test/Neuer Ordner/eintragen.php on line 23
Und diese Fehlermeldung sagt uns, dass die Quelle auf die sich mysql_num_rows bezieht, also in diesem Fall: $result Fehlerhaft ist.
D.h. da liegt der Fehler, überprüfe also wirklich nochmals deine Tabelle und deinen Code... -
Es Klappt
es lag an der MySQL tabell;->
Kann ich auch den letzen login i-wie herrausfinden also vom user
Vielen Dank
Philip
Beitrag zuletzt geändert: 10.2.2010 21:15:05 von philip-felder -
;) Wo genau war der Fehler?
-
...das hab ich dir aber mehrmals gesagt gehabt
-
*hihi*
Geht das denn das man sich auch den letzten login des user ansehen kann ?
Und das passwort zu ändern, oder auch eine bestätigungs-email?
Nochmals Danke (wenn ich könnte würde ich dir ein Karma geben, habe aber selbst noch keins.)
-
Wie meinst du das mit dem letzten Login des Users ansehen? Meinst du die Uhrzeit?
Natürlich kann man auch eine Bestätigungsmail verschicken und das Passwort ändern...
-
Ich meine das das Konto erst klappt wenn man ein bestätigungslink anklick
Und ich das Datum des User sehe wan er es letzte mal drin war, ist das möglich? -
Ja natürlich ist beides möglich, aber das hier zu beschreiben ist echt bisschen viel. Also mach doch einfach mal ein Tutorial, such ein bisschen bei Google und vorallem: überleg dir selbst ein paar Ansätze. Wenn du dann immernoch Fragen hast dann schreib hier.
Zum sehen wann der User das letzte mal online war: du musst einfach die Zeit mit in die Datenbank speichern.
Und zum Aktivierungslink: einfach eine Spalte: aktiviert einfügen, die erst true(z.b. 1) wird wenn der User einen bestimmen Link gedrückt hat. Dazu einfach rausfinden wie man E-Mails verschickt ;) -
Anderes Thema wieso klappt das denn nicht (ist das login)
<?php session_start(); ?> <?php $verbindung = mysql_connect("mysql.lima-city.de", "USER....." , "......") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_1......1_1") or die ("Datenbank konnte nicht ausgewählt werden"); $username = $_POST["username"]; $passwort = md5($_POST["password"]); $abfrage = "SELECT Benutzername, Passwort FROM login WHERE Benutzername = '$username' LIMIT 1"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); if($row->passwort == $passwort) { $_SESSION["username"] = $username; echo "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>"; } else { echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"; } ?>
immer steht da Benutzername und/oder Passwort waren falsch. Login
Beitrag zuletzt geändert: 10.2.2010 21:54:12 von philip-felder -
Also was wissen wir wenn da steht: "Benutzername und/oder Passwort waren falsch. Login" ?
Richtig! Die Bedingung von
if($row->passwort == $passwort) { $_SESSION["username"] = $username; echo "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>"; }
Ist nicht erfüllt. Also sollten wir uns überlegen wieso nicht. Also lass ich mir mal alle Variablen anzeigen, und teste so den Code Schrittweise bis ich den Fehler gefunden habe...Und ein praktischer Nebeneffekt wenn man das ganze selbst macht ist, dass man dabei mehr lernt wie wenn jmd einem den richtigen Code postet. Deshalb versuch es mal selbst und zeig wenigstens ein bisschen Eigeninitative...
Wenn du konkrete Fragen hast, oder an einer Stelle nicht weiterkommst dann frag hier wieder...
Beitrag zuletzt geändert: 10.2.2010 21:57:43 von buechsdeluxe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage