Hallo ich sitze seit einiger Zeit vor einem Problem:
Wenn einem User das Passwort verlorengegangen ist, soll er sich ein neu generiertes zusenden lassen können. Dazu ist es notwendig
1. über den Benutzernamen die Emailadresse aus der Datenbank zu lesen (forg_pw.html) und diese Variable dann an eine zweite Datei zu übergeben (forg_pw.php).
forg_pw.html
So weit so gut. Die Variable wird zwar übergeben, aber die Email wird nicht versendet, trotzdem die registrierte Email-Adresse im feedback angezeigt wird. Woran liegt es?
forg_pw.php:
Das zweite Problem: Wie bekomme ich das neu generierte PAsswort in die Email und in die Datenbank (an die Stelle des alten Passworts)? Muss ich das alte erst löschen und dann das neue an dieselbe Stelle schreiben?
Ich hoffe es hilft mir jemand. Vielen Dank schon mal im Voraus.
Andreas
Wenn einem User das Passwort verlorengegangen ist, soll er sich ein neu generiertes zusenden lassen können. Dazu ist es notwendig
1. über den Benutzernamen die Emailadresse aus der Datenbank zu lesen (forg_pw.html) und diese Variable dann an eine zweite Datei zu übergeben (forg_pw.php).
forg_pw.html
PHP-Code:
<p>
<form action="index.php?site=./home/php/forg_pw.php" method="post" name="neu">
<table>
<tr>
<td align="right">Benutzername: </td>
<td><input class="wst_input" type="text" name="var_bname"
value="<?php echo htmlspecialchars($_REQUEST['var_bname']); ?>"/></td>
<td> </td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td align=left><input class="button" type=submit value=Senden ></td>
</tr>
</table>
</form>
</p>
forg_pw.php:
PHP-Code:
<?
include('./config.php');
?>
<!-- CONTENT -->
<div id='content'>
<?
function getpass() {
$newpass = "";
$laenge=10;
$string="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
mt_srand((double)microtime()*1000000);
for ($i=1; $i <= $laenge; $i++) {
$newpass .= substr($string, mt_rand(0,strlen($string)-1), 1);
}
return $newpass;
}
$sql = "select EMAIL from userdaten WHERE BNAME='".$_POST['var_bname']."'";
$result = mysql_query($sql);
echo mysql_error();
$items = mysql_fetch_array($result);
echo '
<div align="left"> Ihr Passwort wurde an Ihre hinterlegte Email-Adresse gesendet.<br>Ihre angegebene Email-Adresse lautet:
'.$items['EMAIL'].'<br><br>Vielen Dank<br>
Ihr ...</div><br>
<div align="right"><form> <input class="button" type=button value="Zurück" onClick="JavaScript:history.back()"> </form>
</div> ';
/*eMail--Empfänger (user)*/
$wm = '$items'; /*'$bname'*/
/*eMail--Absender (von...)*/
$from = "bla@bla.de";
/*eMail--outfit $webmaster*/
/*Betreff*/
$betreffwm = "Ihr neues Kenntwort";
/*Rumpf*/
$rumpfwm = "";
/*eMail--outfit $feedback?*/
/*Betreff*/
$betrefffrom = "Passwortanfrage ";
/*Rumpf*/
$rumpffrom = "Vielen Dank für Ihre Passwortanfrage. \n Ihr neues Passwort lautet: echo getpass(); . \n
Bitte notieren Sie sich Ihr neues Passwort und schützen Sie es vor Missbrauch.\n\n Ihr...";
Ich hoffe es hilft mir jemand. Vielen Dank schon mal im Voraus.
Andreas
Kommentar