Datenbankeintrag in Variable speichern.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
ausgabe
code
datenbank
email
ergebnis
falsches passwort
fehler
formular
gesamten code
login
nachname
post
raten
richtige ergebnis
url
verbindung
vergleichen
vorname
zeile
-
hackyourlife schrieb:
rate schrieb:
Schau mal in phpMyAdmin nach was wirklich in der Datenbank steht (oder befüll sie mit Probewerten und poste das dann...).
Ja, ich lass es auch als md5 eintragen.
In der Datenbank steht in md5 Wert, hab dann mal md5 von der login.php entfernt, und genau diesen Wert als Passwort eingegeben, gibt trotzdem Falsches Passwort aus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
rate schrieb:
Dann lass dir mal Folgendes ausgeben:
In der Datenbank steht in md5 Wert, hab dann mal md5 von der login.php entfernt, und genau diesen Wert als Passwort eingegeben, gibt trotzdem Falsches Passwort aus.
Den Code musst du genau vor dieecho("$EMail<br />$Passwort");
-Zeile geben...$result = ...
-
hackyourlife schrieb:
rate schrieb:
Dann lass dir mal Folgendes ausgeben:
In der Datenbank steht in md5 Wert, hab dann mal md5 von der login.php entfernt, und genau diesen Wert als Passwort eingegeben, gibt trotzdem Falsches Passwort aus.
Den Code musst du genau vor dieecho("$EMail<br />$Passwort");
-Zeile geben...$result = ...
Es gibt das Passwort und Falsches Passwort aus, also muss was bei der Email ausgabe nicht sitmmen O.o. Danke, ich schau mal nach.
Beitrag zuletzt geändert: 2.5.2012 18:34:46 von rate -
hackyourlife schrieb:
rate schrieb:
Das kann nur daher kommen, dass das POST-Feld nicht
Es gibt das Passwort und Falsches Passwort aus, also muss was bei der Email ausgabe nicht sitmmen O.o.
heißt... der Fehler wird sich also im HTML-Formular finden.EMail
Ok, also das ist das einlog Forumular:
<br><br><br><h1>Login</h1><br><br> <form method="POST" action="login.php"> <align="right">E-Mail: <input name="EMail" type="text" size="30" maxlength="40"> <br> <align="right">Passwort: <input name="Passwort" type="password" size="30" maxlength="40"> <input type="submit" value=" Anmelden "> <input type="reset" value=" Zurücksetzen"> </form>'
Der name ist EMail
$EMail = mysql_real_escape_string ($_POST['EMail']);
Hier heisst es auch EMail, ich steh auf der Leitung.
EDIT: Ich hab einfach nochmal alle Dateien gelöscht, und nochmal draufgeladen, und komischerweise zeigt es die E-Mail jetzt an. O.o Aber immernoch Falsches Passwort.
EDIT2:
Code:
<?php include 'variable.php'; $EMail = mysql_real_escape_string ($_POST['EMail']); $Passwort = mysql_real_escape_string (md5($_POST['Passwort'])); echo("$EMail<br />$Passwort"); $result = mysql_query("SELECT * FROM `Users` WHERE `EMail` = '$EMail' AND 'Passwort' = '$Passwort'"); while($row = mysql_fetch_object($result)) { echo $row->Passwort; echo " "; echo $row->EMail; } mysql_free_result($result); /* if(mysql_num_rows($result) == 1) { echo 'Richtiges Passwort'; } else { echo 'Falsches Passwort'; } */ ?>
Nur das Passwort wird ausgegeben, EMail wieder nicht.
EDIT3: (Ich hab jetzt alles in Mail anstatt EMail geändert)
Hier gibt es die Mail aus:
<?php //Verbindung $id = mysql_real_escape_string($_GET['id']); $result = mysql_query("SELECT * FROM `Users` WHERE `ID` = '".$id."'"); while ($row = mysql_fetch_object($result)) { echo $row->Vorname. ' ' .$row->Nachname; echo '<br>'; echo $row->Mail. ' '; } ?>
EDIT4:
Es lag daran:
$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND 'Passwort' = '$Passwort'");
Ich habs in
$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail'");
geändert, also die Passwortüberprüfung weggelassen...
Dann gibt es die Email aus
Beitrag zuletzt geändert: 2.5.2012 19:13:54 von rate -
rate schrieb:
Da fällt mir auch ein Fehler der ursprünglichen Query auf... Versuch mal das hier:
EDIT4:
Es lag daran:
$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND 'Passwort' = '$Passwort'");
Ich habs in
$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail'");
geändert, also die Passwortüberprüfung weggelassen...
Dann gibt es die Email aus
Du hast bei$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND `Passwort` = '$Passwort'");
die falschen Anführungszeichen (Passwort
statt'
) verwendet.`
-
hackyourlife schrieb:
rate schrieb:
Da fällt mir auch ein Fehler der ursprünglichen Query auf... Versuch mal das hier:
EDIT4:
Es lag daran:
$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND 'Passwort' = '$Passwort'");
Ich habs in
$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail'");
geändert, also die Passwortüberprüfung weggelassen...
Dann gibt es die Email aus
Du hast bei$result = mysql_query("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND `Passwort` = '$Passwort'");
die falschen Anführungszeichen (Passwort
statt'
) verwendet.`
Gibt immernoch falsches Passwort aus... -
rate schrieb:
Bekommst du bei folgendem Code das richtige Ergebnis:
Gibt immernoch falsches Passwort aus...
Und wenn du hier das richtige Ergebnis bekommst:echo($_POST['EMail']);
Stimmt das auch noch? Alle Sonderzeichen wie ' oder " sollten ein \ vorangestellt haben.echo(mysql_real_escape_string($_POST['EMail']));
Lass dir dann mal die Query ausgeben:
Und poste bitte das Ergebnis der ausgegebenen Query...echo("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND `Passwort` = '$Passwort'");
-
hackyourlife schrieb:
rate schrieb:
Bekommst du bei folgendem Code das richtige Ergebnis:
Gibt immernoch falsches Passwort aus...
Und wenn du hier das richtige Ergebnis bekommst:echo($_POST['EMail']);
Stimmt das auch noch? Alle Sonderzeichen wie ' oder " sollten ein \ vorangestellt haben.echo(mysql_real_escape_string($_POST['EMail']));
Lass dir dann mal die Query ausgeben:
Und poste bitte das Ergebnis der ausgegebenen Query...echo("SELECT * FROM `Users` WHERE `Mail` = '$Mail' AND `Passwort` = '$Passwort'");
SELECT * FROM `Users` WHERE `Mail` = 'f@f.com' AND `Passwort` = '63a9f0ea7bb98050796b649e85481845'
Also eig richtig... -
rate schrieb:
Hast du den MD5-Sum auch verglichen?
SELECT * FROM `Users` WHERE `Mail` = 'f@f.com' AND `Passwort` = '63a9f0ea7bb98050796b649e85481845'
Also eig richtig...
Gib mal einen Auszug (eine Zeile) aus der MySQL-Zabelle her, dass ich mal vergleichen kann und schauen kann warum da was nicht funktioniert... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage