Passwort Ändern

Golz

Erfahrenes Mitglied
Hi,

ja ich weiß :D ich schon wieder ^^


ok ich hab ein kleines Problem, weiß aber net genau wo.

vielleicht kann mir einer kurz helfen.

ich möchte mit dre nachfolgenden Abfrage, dass MD5 verschlüsselte Passwort ändern.

PHP:
mysql_select_db($database_klassensprecherwahl, $klassensprecherwahl);

//connect Tabelle User für loin abfrage
$query_pass_login = "SELECT * FROM `user` WHERE `Username` = '".$_GET['pass_aendern']."'";
$pass_login = mysql_query($query_pass_login, $klassensprecherwahl) or die(mysql_error());
$row_pass_login = mysql_fetch_assoc($pass_login);
$totalRows_pass_login = mysql_num_rows($pass_login);

if($row_pass_login['Passwort'] != md5($_POST['pass_alt']))
{
echo "Ihr altes Passwort ist falsch<p>";
echo '<input type="button" name="nein" value=" zurück " onClick="javascript:history.back()"">' ;
exit;
}
else
{
mysql_select_db($database_klassensprecherwahl, $klassensprecherwahl);
$query_pass_ueberpr = "UPDATE `user` SET `Passwort` = MD5('".$_POST['pass_neu']."') WHERE `Username` = '".$_GET['pass_aendern']."' LIMIT 1 ;";
$pass_ueberpr = mysql_query($query_pass_ueberpr, $klassensprecherwahl) or die(mysql_error());
header("Location: ./passwort.php?user_pass=$pass_aendern");
exit;



das $_POST['pass_alt'] komm von der vorherigen Seite.

ich finde den Fehler überhaupt nicht :(
 
Wie weit kommst Du denn beim durchlaufen des Scriptes bzw. wo wird denn nicht gemacht?
Hast Du mal versucht mit Hilfe von ein paar echos zu schauen, wie weit das Script durchlaufen wird? So könntest Du vielleicht herausfinden, an welcher Stelle er aufhört!

redlama
 
beim
PHP:
echo "Ihr altes Passwort ist falsch<p>";
steigt er aus.

ich hab schon geschaut ob des Passwort stimmt oder nicht aber des Stimmt.

habs mit nem echo schon versucht.
 
Mach mal vor dem
PHP:
echo "Ihr altes Passwort ist falsch<p>";
das:
PHP:
echo $row_pass_login['Passwort']." != ".md5($_POST['pass_alt'])."<br>";
Dann kannst Du mal sehen, wie die beiden verschlüsselten Passwörter aussehen.

redlama
 
warum gibt er mir Das Passwort aus der DB nicht verschlüsselt zurück, wenn ich es in der DB gemacht habe?
 
Das kann ich Dir leider auch nicht sagen, aber dann kannst Du ja jetzt einfach das Passwort aus der DB mit dem nicht verschlüsselten der Eingabe vergleichen.
Damit dürfte sich dann Dein Problem erledigt haben, ...

redlama
 
hab ich schon versucht :(

das geht auch net und wenn ich es als echo angebe kommt 123 != 123 ...

dann iss auch if abfrage

if(123 != 123)
{
bla...
}
else
{
Passwort ändern
}


ka warum er das so macht :(
 
warum gibts du hier nochmals die Datenbank an?
PHP:
$pass_login = mysql_query($query_pass_login, $klassensprecherwahl) or die(mysql_error());
hast du doch schon hier angegeben
PHP:
 mysql_select_db($database_klassensprecherwahl, $klassensprecherwahl);

oder vertu ich mich da
 
PHP:
$query_pass_ueberpr = "UPDATE `user` SET `Passwort` = MD5('".$_POST['pass_neu']."') WHERE `Username` = '".$_GET['pass_aendern']."' LIMIT 1 ;";
Du vermischst $_GET und $_POST, Du musst Dich, je nachdem wie denn die Daten uebergeben werden mal entscheiden was Du denn machen willst.
Es koennte natuerlich auch so richtig sein, ich hab auch sowas aehnliches in meinem Script, aber das ist die Ausnahme.
Falls Du Dich nicht entscheiden kannst, dann nimm am besten $_REQUEST, da steht sowohl der Inhalt von $_GET als auch von $_POST drin.
 
nein des erste Passwort iss POST, weil es mit method Post übertragen wird und das andere Setz ich hinter den form Link mit ?....=$...

aber gehen tut es immer noch net :(
 
Zurück