[Guide] Система за Забравена парола

0bsessed

New Member
Joined
Jul 18, 2010
Messages
147
Reaction score
29
Източник:Тук

В този урок ще ви покажа как да си направите "Забравена парола" на вашата регистрация .

Допускаме че имате регистрация с MySQL, където потребителя попълва име, парола и e-mail и т.н. .


Ето как работи системата за "Забравена парола" - потребителят, който е забравил паролата на акаунта си въвежда своя e-mail, базата данни търси неговия e-mail и при истина праща неговата парола на e-mail-а му .

forgot.php



<?php
//попълвате информация за хост , бд потербител , бд парола и база данни
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';

// свързаваме се с базата данни
mysql_connect ($dbhost, $dbusername, $dbuserpass);

if (!mysql_select_db($dbname)) die(mysql_error());

if($_POST['email'])
{
$email = $_POST['email'];
$checkemail = mysql_query("SELECT username,password FROM users WHERE email='$email'");
$row = mysql_fetch_array($checkemail);
$numrows = mysql_num_rows($checkemail);
if ($numrows!=0) {
$name = $row['username'];
$password = $row['password'];

// изпращаме паролата
$subject = "Вашата Парола";
$message = "Уважаем $name, този e-mail е изпратен , защото вие сте забравили вашата парола .
Информация за вашия акаунт :
Username: $name
Password: $password

Благодарим ви ,
yourdomein.com";

mail($email, $subject, $message, "From: <[email protected]>nX-Mailer:pHP/" . phpversion());
echo "<center>Парола изпратена.</center>";
}else{
echo "<center>Въведеният e-mail не съществува в нашата база данни .</center>";
}
}
?>
<html>
<head>
<title>Забравена парола?</title>
</head>
<body>
<center>
Попълни e-mail-а с който си се регистрирал при нас и ние ще ви изпратим вашата парола от нашата база данни.<br />
<form action="forgot.php" method="POST">
E-mail Address: <input type="text" name="email" size="15" />
<input type="submit" value="Send!" />
</form>
</center>
</body>
</html>



Ако във вашата база данни името, паролата, майла и името на таблицата се записват по различен начин , трябва да промените :

SELECT username ,password FROM users WHERE email ='$email'

Също така трябва да промените това според записа на името и парола в таблицата

$name = $row['username'];
$password = $row['password'];
 
  • Like
Reactions: bogodux and ivowe3