Post dotyczy artykułu http://funkcje.net/view/2/1703/index.html. Jest to miejsce na wypowiedzi oraz komentarze.
Skrypt tworzy formularz rejestracyjny dla użytkowników chroniony dodatkowo tokenem. Walidacja odbywa się poprzez JavaScript oraz Ajax.

Kod: Zaznacz cały
<form method="post">
<input type="text" name="zapomnialem_hasla" value="podaj e-amil" />
<input type="submit" value="Przypomnij hasło" />
</form>
<?php
function lacz_bd()
{
$db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');
if (! $db)
return false;
$db->autocommit(TRUE);
return $db;
}
if(!empty($_POST['zapomnialem_hasla'])){
$mail = $_POST['zapomnialem_hasla'];
$mail = addslashes($mail);
$newpass = rand(10000, 99999);
$db = lacz_bd();
$zapytanie = "select login from uzytkownicy WHERE mail = '$mailchange'";
$wynik = $db->query($zapytanie);
$wiersz = $wynik->fetch_assoc();
$login = $wiersz['login'];
$zapytanie="update uzytkownicy set haslo=sha1('$newpass') where mail ='$mailchange'";
$wynik = $db->query($zapytanie);
if ($wynik){
$from = 'twoj_mail@wp.pl';
$admin_mail = 'twoj_mail@wp.pl';
$tomail = $mail;
$topic = 'Przypomnienie hasła';
$tresc = 'Dane do logowania w serwisie zostaly zmienione na nastepujace: <br /><br /> Login: '.$login.'<br /> Haslo: '.$newpass.'<br /><br /> Zapraszamy do zalogowania';
mail($tomail,$topic,$tresc."\n\n\n".$stopka, "From: $admin_mail\r\n"."Reply-To: $from\r\nMIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-2\r\n ");
echo '<br /><b>Zmieniono hasło:</b> Na podany adres: '.$mail.' zostało przesłane nowe hasło wraz z Loginem. ';
}else{
echo '<br /><b>Błąd: Nie ma konta dla podanego adresu.</b>';
}
exit();
?>

CREATE TABLE `uzytkownicy` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `login` VARCHAR( 100 ) NOT NULL , `haslo` VARCHAR( 255 ) NOT NULL , `mail` VARCHAR( 150 ) NOT NULL , `act` INT NOT NULL ) ENGINE = MYISAM ;


Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość