Hallo,
Ich hab ein passwort vergessen Script das nicht ganz so funktioniert wie ich das möchte und zwar das Script schaut ob die E-Mail vorhanden ist, es löscht auch das alte Passwort trägt aber kein neues ein an was kann das liegen?
Hier das Script:
PHP
<html>
<head>
<title>Neues Kennwort anfordern</title>
<meta http-equiv=\"expires\" content=\"0\">
<meta http-equiv=\"pragma\" content=\"no-cache\">
<meta http-equiv=\"cache-control\" content=\"no-cache\">
<meta http-equiv=\"content-language\" content=\"de\">
<meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">
<meta http-equiv=\"imagetoolbar\" content=\"no\"><link rel=stylesheet href=style.css type=text/css>
</head>
<body>
Solltest Du dein Kennwort vergessen haben, helfen wir dir, innerhalb weniger Minuten ein neues festzulegen.<br>
Tragen dazu bitte die bei der Kontoeröffnung angegebene E-Mail-Adresse ein und klicke dann auf "Abschicken".
<br><br>
<?php
?>
<?php
error_reporting(E_ALL);
$MYSQL_HOST = 'localhost';
$MYSQL_USER = '......';
$MYSQL_PASS = '.......';
$MYSQL_DATA = '......';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
if(isset($_POST['submit']) AND $_POST['submit']=='Abschicken'){
// Daten prüfen
$errors = array();
if(!isset($_POST['email']))
$errors[] = "Bitte benutze unser Passwortformular";
else{
if(trim($_POST['email']) == "")
$errors[] = "<b>Gebe deine Ihre Email-Adresse ein.</b>";
// Nickname suchen
$sql = "SELECT
email
FROM
ft_user
WHERE
email = '".mysql_real_escape_string(trim($_POST['email']))."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
$row = mysql_fetch_assoc($result);
if(!$row)
$errors[] = "<b>Deine Email-Adresse konnte nicht gefunden werden.</b>\n";
}
if(count($errors)){
echo "<b>Dein Passwort konnte nicht versendet werden.</b><br>\n".
"<br>\n";
foreach($errors as $error)
echo $error."<br>\n";
echo "<br>\n";
echo "Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Formular</a>\n";
}
else {
// Neues Passwort erstellen
$pass = substr(chr(rand()),0,8);
$sql = "UPDATE
ft_user
SET
pass = '".chr(trim($pass))."'
WHERE
email = '".mysql_real_escape_string(trim($_POST['email']))."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// Email verschicken
$empfaenger = $row['email'];
$titel = "Neues Passwort";
$mailbody = "Dein Passwort wurde erfolgreich geändern, dein neues Passwort lautet:\n\n".
$pass."\n\n".
"Dein altes Passwort wurde gelöscht.";
$header = "From: marcelambros@gmx.de\n";
if(@mail($empfaenger, $titel, $mailbody, $header)){
echo "<b>Dein neues Passwort wurde erfolgreich an deine Email-Adresse versandt.</b><br>\n".
"Zurück zur <a href=\"index.php\">Startseite</a>\n";
}
// Im Fehlerfall wird die Mailadresse des Webmasters für den direkten Versandt eingeblendet
else{
echo "<b>Beim Senden der Email trat ein Fehler auf.</b><br>\n".
"<b>Bitte wende dich direkt an den <a href=\"mailto:webmaster@website.de\">Webmaster</a>.</b>\n";
}
}
}
else{
echo "<form ".
" name=\"pass\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "<b>Email-Adresse eingeben:</b>\n";
echo "<input type=\"text\" name=\"email\" maxlength=\"32\">\n";
echo "<br><br>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Abschicken\">\n";
echo "</form>\n";
}
?>
</body>
</html>
Alles anzeigen
Hoffe ihr könnt mir helfen.
Mfg