altes/neus Passwort ändern via PHP/MySql

keiplan

Mitglied
PHP:
<html>

<head>
 <title>Passwort ändern || pass.php</title>
</head>

<body>
<?
include ("../config/db.php");

$old_pw=md5($old_pass);
$new_pw=md5($new_pass);

if ($button==" OK ") {
 if ($old_pw==$line['pass']) {
 mysql_query("UPDATE zugriff SET pass='$new_pw' WHERE name='$username'");
 mysql_close();
?>
Das Passwort wurde geändert!<br>
<a href="daten.php">&gt; zur Übersicht</a>
<?
 }
 else
 {
    echo "Falsches PW!";
 }
}
else {
$query = "SELECT * FROM zugriff WHERE name='$username'";
$result = mysql_query($query);
$line = mysql_fetch_array($result)
?>
<form method="post" action="pass.php">
<table>
	<tr>
         	<td>altes PW:</td>
                 <td><input type="text" name="old_pass"></td>
         </tr>
         <tr>
         	<td>neues PW:</td>
                 <td><input type="text" name="new_pass"></td>
         </tr>
         <tr>
         	<td colspan="2"><input type="submit" name="button" value=" OK "></td>
         </tr>
</table>
</form>
<?
}
?>
</body>
</html>

Dieses PHP-script soll eigentlich das alte PW abfragen, und wenn das stimmt das neue eintragen (md5-verschlüsselt). Doch irgendwie tut sich da gar nichts :(
Kann mir jmd sagen, ob ich irgend einen grundlegenden Fehler gemacht habe, oder meine Logik nur falsch ist?!

Vielen Dank im vorraus
MfG, plan0r
 
Zuletzt bearbeitet:
PHP:
<html>

<head>
 <title>Passwort ändern || pass.php</title>
</head>

<body>
<?
include ("../config/db.php");

$old_pw=md5($_POST['old_pass']);
$new_pw=md5($_POST['new_pass']);

if ($_POST['button']==" OK ") {
$query = "SELECT * FROM zugriff WHERE name='$username'";
$result = mysql_query($query);
$line = mysql_fetch_array($result);
 if ($old_pw==$line['pass']) {
 mysql_query("UPDATE zugriff SET pass='$new_pw' WHERE name='$username'");
 mysql_close();
?>
Das Passwort wurde geändert!<br>
<a href="daten.php">&gt; zur Übersicht</a>
<?
 }
 else
 {
    echo "Falsches PW!";
 }
}
else {
?>
<form method="post" action="pass.php">
<table>
	<tr>
         	<td>altes PW:</td>
                 <td><input type="text" name="old_pass"></td>
         </tr>
         <tr>
         	<td>neues PW:</td>
                 <td><input type="text" name="new_pass"></td>
         </tr>
         <tr>
         	<td colspan="2"><input type="submit" name="button" value=" OK "></td>
         </tr>
</table>
</form>
<?
}
?>
</body>
</html>
 
Zuletzt bearbeitet:
Ich habe es dir oben mal angepaßt. Du solltest natürlich die Datenbankabfrage nach dem aktuellen Passwort machen, bevor du es überprüfst, ob es richtig ist. Sonst wird das per Formular übergebene PW mit einem leeren String verglichen..
$_POST bzw. $_GET sind der richtige Weg, um auf die per Formular bzw. URL übergebenen Variablen zuzugreifen.
 
$username ist fest in der Session integriert (hier im Script habe ich die Session der Einfachheit halber weggelassen) und wird, wenn ich's mit echo überprüfe, ausgefüllt.
 
Zurück