View Single Post
Du kan jo eks. gjøre slik.

Bruker fyller inn skjema med e-post adresse. (reset_passord.php)

Kode

<?php
$ret .= 'bla bla bla passord.. osv...';
$ret .= '<form action="reset.php" method="POST">';
$ret .= '<input type="text" name="epost">';
$ret .= '<input type="submit" value="Send nytt passord">';
$ret .= '</form>';
echo $ret;
?>
Da kommer brukeren til denne filen. reset.php
Som kan se slik ut. (bruker ditt eksempel.)

Kode

//Lettere variabelnavn
$email = $_POST['epost'];
// Se etter brukernavn og passord der mail er $_POST['epost']
$result = Database::query("SELECT username, password FROM users WHERE email = '".Database::escape($email)."'");

$row = Database::farray($result);
$brukernavn = $row['username'];
$password = $row['password'];
//Er $_GET verdien 'stegen'
if($_GET['p'] == 'stegen') {
$printBack = psucc('Du vil nå få tilsendt et nytt passord på mailen din','style="width:450px"', TRUE);
// Lag en ny beskjed med nytt passord i
$newPassword = genRandomString();
$message = "Ditt nye passord er:  ".$newPassword."'/n' Vi foreslår at du skifter passord første gang du logger inn med det nye. '/n' Peace out '/n' Elitecrimes Ledelsen" ;
mail("random@gmail.com", "Konfirmasjonsmail", $message);
$newPassword = SHA5($newPassword);
Database::query("UPDATE users SET password = '".Database::escape($newPassword)."' WHERE epost = '".Database::escape($epost)."'");
Tror det blir noe slikt sånn i full fart her

Du bør også ha med at brukeren skriver inn både brukernavn og epost når de vil ha nytt passord.
Da kan scriptet sjekke om både e-post og brukernavn stemmer.