<?php
// Überprüfen, ob das Formular abgeschickt wurde und ob alle Angaben gemacht wurden.
if( isset($_POST['username'], $_POST['email'], $_POST['gfrage'], $_POST['gantwort'])
AND
strcmp(trim($_POST['username']),'') != 0
AND
strcmp(trim($_POST['email']),'') != 0
AND
strcmp(trim($_POST['gfrage']),'') != 0
AND
strcmp(trim($_POST['gantwort']),'') != 0 ) {
// Einbinden der Konfigurationsdatei.
require_once 'config.php';
// SQL-Anweisung an die Datenbank senden, um erstens herauszufinden, ob
// diese Kombination von Daten überhaupt existiert.
$sql = "SELECT
username,
email,
gantwort,
gfrage
FROM
user
WHERE
username = '" . trim($_POST['username']) . "'
AND
email = '" . trim($_POST['email']) . "'
AND
gfrage = '" . trim($_POST['gfrage']) . "'
AND
gantwort = '" . trim($_POST['gantwort']) . "'";
$res = mysql_query($sql) or die( 'Error[SELECT|User]: <br /><pre>' . $sql . '</pre><br />MySQL-Error: ' . mysql_error() );
// Nur wenn genau ein Datensatz selektiert wurde, wird eine E-Mail an den User versendet.
// Ansonsten wird ihm eine Fehlermeldung angezeigt.
if( mysql_num_rows($res) != 1 ) {
echo "<font face=\"Arial\" color=\"#333333\">Die angegebenen Benutzerdaten sind nicht korrekt!</font>";
exit();
}else{
// Mail - From festlegen
$from = "From: \n";
$from .= "Reply-To: \n";
$from .= "Cc: \n";
$from .= "Bcc: \n";
$from .= "X-Mailer: PHP/" . phpversion(). "\n";
$from .= "X-Sender-IP: $REMOTE_ADDR\n";
$from .= "Content-Type: text/html";
// Benutzerdaten in Variablen speichern
$username = $_POST['username'];
$email = $_POST['email'];
// ID erzeugen
$id = sha1($username.time().rand(-3000,3000));
// Einbinden der Konfigurationsdatei.
require_once 'config.php';
// ID einfügen
$sql = "UPDATE user
SET pw_reset_id='".$id."'
WHERE username='".$username."'";
$res = mysql_query($sql) or die( 'Error[SELECT|User]: <br /><pre>' . $sql . '</pre><br />MySQL-Error: ' . mysql_error() );
// Mail - Daten zusammenfassen
$nachricht = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">
<tr>
<td><font face=\"Arial\" color=\"#333333\" size=\"+2\">Hallo <b>$username</b>,</font></td>
</tr>
</table>
<br>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">
<tr>
<td><font face=\"Arial\" color=\"#333333\">Verwende bitte den unten stehenden Link, um Dein Passwort ändern zu können.</font></td>
</tr>
<tr>
<td><font face=\"Arial\" color=\"#333333\">pwreset.php?username='.$username.'&id='.$id;</td>
</tr>
</table>
<br>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">
<tr>
<td><font face=\"Arial\" color=\"#333333\">Viel Spaß wünscht Dir das Team von <a href=\"\"></a></font></td>
</tr>
</table>";
//E - mail versenden
mail("$email", "Passwort vergessen", "$nachricht", "$from");
// Mail wurde versandt und der User bekommt eine Mitteilung angezeigt, in der er erfährt wie es weitergeht.
echo "<font face=\"Arial\" color=\"#333333\">Du hast soeben eine Mail von uns erhalten, mit der Du Dein Passwort ändern kannst.</font>";
exit();
}
}
?>
<!-- Eingabemaske -->
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td><font face="Arial" color="#333333">Username:</font></td>
</tr>
<tr>
<td><input type="text" name="username" size="30" maxlength="30"></td>
</tr>
<tr>
<td><font face="Arial" color="#333333">E - Mail:</font></td>
</tr>
<tr>
<td><input type="text" name="email" size="30" maxlength="30"></td>
</tr>
<tr>
<td><font face="Arial" color="#333333">Geheim - Frage:</font></td>
</tr>
<tr>
<td><input type="text" name="gfrage" size="30" maxlength="50"></td>
</tr>
<tr>
<td><font face="Arial" color="#333333">Geheim - Antwort:</font></td>
</tr>
<tr>
<td><input type="password" name="gantwort" size="30" maxlength="30"></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Absenden"> <input type="reset" value="Abbrechen" name="reset"></td>
</tr>
</table>
</form>