Hallo,
ich bin gerade dabei einen PHP-Script zu schreiben, der ein Passwort, welches in einer MySql-DB hinterlegt ist zu ändern. Dazu bekommt der Benutzer eine E-Mail mit einem entsprechenden Link. Soweit funktioniert alles. Jedoch funktioniert der PHP-Script nicht, der mit Hilfe des Links das Passwort zurück setzen soll. Leider finde ich meinen Fehler auch nicht selber. Kann mir vielleicht jemand helfen?
Hier mein Script:
ich bin gerade dabei einen PHP-Script zu schreiben, der ein Passwort, welches in einer MySql-DB hinterlegt ist zu ändern. Dazu bekommt der Benutzer eine E-Mail mit einem entsprechenden Link. Soweit funktioniert alles. Jedoch funktioniert der PHP-Script nicht, der mit Hilfe des Links das Passwort zurück setzen soll. Leider finde ich meinen Fehler auch nicht selber. Kann mir vielleicht jemand helfen?
Hier mein Script:
PHP:
<?php
error_reporting( E_ALL );
?>
<!DOCTYPE html>
<html>
<head>
<title>...</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="author" content="">
<meta name="keywords" content="">
<link href="..." type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="data/img/favicon.png" type="image/png" />
<link rel="icon" href="data/img/favicon.png" type="image/png" />
</head>
<body>
<div id="wrapper">
<div id="content_container">
<h1>...</h1>
<?php
if ( isset($_POST['passwort']) &&
empty($_POST['passwort']) == FALSE &&
isset($_POST['passwortbe']) &&
empty($_POST['passwortbe']) == FALSE &&
isset($_POST['hidden']) &&
$_POST['hidden'] == "v" )
{
if ( $_POST['passwort'] == $_POST['passwortbe'] &&
strlen( $_POST['passwort'] ) >= 4 )
{
require_once ('konfiguration.php');
$db_link = mysqli_connect ( MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK );
if ( $db_link )
{
$emailadresse = $_GET['mail'];
$kontrollzahl = $_GET['id'];
$passwort = $_POST['passwort'];
$sql = "UPDATE benutzerdaten
SET passwort = '$passwort'
WHERE emailadresse = '$emailadresse'
AND kontrollzahl ='$kontrollzahl'";
$erg = mysqli_query($db_link, $sql);
?>
<p>Du hast dein Passwort erfolgreich geändert.</p>
<?php
}
else
{
// In diesem Fall E-Mail mit Fehlerprotokoll an Entwickler
}
}
else
{
if ( strlen($_POST['passwort']) < 4 )
{
?>
<p class="fehlermel">Dein Passwort ist zu kurz. Bitte gib ein Passwort mit min. 4 Zeichen an.</p>
<?php
}
if ( $_POST['passwort'] !== $_POST['passwortbe'] )
{
?>
<p class="fehlermel">Deine Passwortangaben stimmen nicht überein!</p>
<?php
}
}
}
?>
<div id="eing_fenst">
<h2>Passwort zurücksetzen</h2>
<form action="passwort_reset.php">
<input type="password" name="passwort" size="20" maxlength="30"
placeholder="Neues Passwort" class="input_eing" />
<input type="hidden" name="hidden" value="v" />
<input type="password" name="passwortbe" size="20" maxlength="30"
placeholder="Neues Passwort" class="input_eing" />
<input type="submit" name="Zurücksetzen" value="Zurücksetzen"
id="green_submitbutton" />
</form>
</div>
</div>
<div id="footer">
<p>...</p>
</div>
</div>
</body>
</html>
<?php
?>