Помогни ни да направим Uroci.net по - богат! Добави урок

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

PHP » PHP
shark5   трудност:    видян: 8282

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

Допускаме че имате регистрация с 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'];

 

 



Сподели урока:



Коментари (2)

duka на 15.06 2009 в 12:58ч.
Ами това няма да върши работа в повечето случаи, защото ако не знаеш паролите ТРЯБВА да се съхраняват криптирани, а след това връщане няма (т.е. не можеш да му покажеш паролата). В такъв случай му генерираш нова, пращаш му я на майл-а и я записваш в базата данни.
PowermanBG на 02.09 2009 в 18:36ч.
duka, зависи, има системи, където администраторите не криптират паролите от мързел можеби : )

Регистрирайте се, за да добавите коментар


Калдейта Ком ЕООД - © 2003-. Всички права запазени.
Препоръчваме: IT Новини