Denne kode tjekker om din mail er ok, men jeg forstår ikke helt hvordan din database er opbygget så jeg kan ikke helt hjælpe dig med at gøre sådan så passwordet faktisk bliver ændret, men jeg kan vise dig hvordan man opdatere et felt i databasen så det gamle indhold bliver slettet og der kommer noget nyt indhold i, så kan du jo selv..
<?php
include("top2.php");
include("denner.php");
$conn = mysql_connect("$host","$user","$pass");
mysql_select_db("$db",$conn);
function password($len = 8) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ123456789";
mt_srand( (double) microtime() * 1000000);
do {
$out = "";
for ($i=1; $i <= $len; $i++) {
$out .= $chars[mt_rand(0, strlen($chars) - 1)];
}
} while (!preg_match("/\d/", $out));
return $out;
}
$password = password(8);
$bruger = mysql_real_escape_string($_POST['brugernavn']);
$email = mysql_real_escape_string($_POST['mail']);
$query = mysql_query("SELECT * FROM login2 WHERE brugernavn = '$bruger'") or die(mysql_error());
$ip = getenv('REMOTE_ADDR');
$passwd = md5($password);
if (isset($_POST['submit'])) {
if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $email)) {
echo "Ugyldig mail";
}else{
if (isset($_POST['brugernavn']) && isset($_POST['mail'])) {
if (mysql_num_rows($query) > 0) {
mysql_query("INSERT INTO `login2` (`passwd`) VALUES ('$passwd')") or die(mysql_error());
mail("$mail", "Bruger Information", "Heysan!\n\n$home har lavet et ny password til din bruger. \nAdgangskode: $password\n\nDette er en mail afsendt af en bot fra $home. Er dette en fejl kontakt
http://www.$home/kontakt/\nfølgene IP Adresse: <a href=\"
http://www.ripe.net/perl/whois?searchtext=$ip\">$ip</a> har valgt nyt password.\n\nMed venlig hilsen\n$home.", "From:NoReplay@$home");
echo "Dit password er nu blevet opdateret.<br>"."$home har sendt <i>Dig</i> en mail med dit nye password.<br><br>";
}else{
echo "Fejl: Fandt ikke brugeren.";
}
}else{
echo "Du har ikke indtastet brugernavn/mail";
}
}
}
?>
<form action="" method="POST">
Brugernavn: <input type="text" name="brugernavn">
Mail: <input type="text" name="mail">
<input type="submit" name="submit" value="Send">
</form>
---------------
og det med at opdatere et felt kan gøres således:
mysql_query("UPDATE login2 SET `passwd`='$passwd' WHERE brugernavn = '$bruger'") or die(mysql_error());
den overwriter feltet passwd med indholdet af variablen $passwd i den række hvor brugernavnet matcher med $bruger i databasen login2