|
PHP Forgot Lost Password and Sending Password to Mail ทำ Form ลืมรหัสผ่าน ด้วย PHP กับ MySQL |
PHP Forgot Lost Password and Sending Password to Mail การทำ Form สำหรับ Reset รหัสผ่าน หรือขอข้อมูล Username และ Password ใหม่ ในกรณีที่ผู้ใช้ Forgot Password หรือลืมข้อมูลการ Login ของตัวเอง ด้วย PHP กับ MySQL
เริ่มต้นด้วยการสร้างตารางชื่อ member
CREATE TABLE `member` (
`UserID` int(3) NOT NULL auto_increment,
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL,
`Name` varchar(100) NOT NULL,
`Email` varchar(150) NOT NULL,
`Status` enum('ADMIN','USER') NOT NULL default 'USER',
`SID` varchar(32) NOT NULL,
`Active` enum('Yes','No') NOT NULL default 'No',
PRIMARY KEY (`UserID`),
UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `member`
--
INSERT INTO `member` VALUES (1, 'win', 'win123', 'Weerachai Nukitram', '[email protected]', 'USER', 'fb8d397fe980c10c84f0c77e1749c3f0', 'Yes');
คำอธิบายการทำงาน
การส่ง Username และ Password นั้นเป็นวิธีการที่นิยมมากที่สุด ในขั้นตอนของการที่ User ลืมรหัสผ่าน เพราะข้อมูล User และ Password นั้นสามารถส่งไปยัง Email ปลายทางของ User ได้โดยตรง ซึ่งหลักการไม่ยากเลย เพียงทำการตรวจสอบ Username หรือ Email อย่างใดอย่างหนึ่งที่ User ได้ทำการกรอกเข้ามา โดยทำการตรวจสอบข้อมูลในฐานข้อมูล และถ้ามีข้อมูลดังกล่าวก็ให้ส่ง Username และ Password แจ้งไปยัง Email ของ User นั้น ๆ
$strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['txtUsername'])."'
OR Email = '".trim($_POST['txtEmail'])."' ";
คำสั่ง SQL Statement ที่มีการตรวจสอบ Username และ Email ผ่าน Operator ของ OR ซึ่งจะตรวจสอบข้อมูลใดข้อมูลหนึ่ง
Code ทั้งหมด
- หน้าจอรับข้อมูล Username และ Email
ForgotPassword.php
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
<form name="form1" method="post" action="SendPassword.php">
Forgot your password? (Input Username or Email)<br><br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td> Username</td>
<td>
<input name="txtUsername" type="text" id="txtUsername">
</td>
</tr>
<tr>
<td> Email</td>
<td><input name="txtEmail" type="text" id="txtEmail">
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" name="btnSubmit" value="Send Password">
</form>
</body>
</html>
หน้าจอสำหรับการตรวจสอบข้อมูลและทำการส่ง Username และ Password ทางอีเมล์
SendPassword.php
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
<?php
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['txtUsername'])."'
OR Email = '".trim($_POST['txtEmail'])."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Not Found Username or Email!";
}
else
{
echo "Your password send successful.<br>Send to mail : ".$objResult["Email"];
$strTo = $objResult["txtEmail"];
$strSubject = "Your Account information username and password.";
$strHeader = "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "From: [email protected]\nReply-To: [email protected]";
$strMessage = "";
$strMessage .= "Welcome : ".$objResult["Name"]."<br>";
$strMessage .= "Username : ".$objResult["Username"]."<br>";
$strMessage .= "Password : ".$objResult["Password"]."<br>";
$strMessage .= "=================================<br>";
$strMessage .= "ThaiCreate.Com<br>";
$flgSend = mail($strTo,$strSubject,$strMessage,$strHeader);
}
mysql_close();
?>
</body>
</html>
กรณีที่ไม่พบข้อมูล Username และ Email ที่ทำการกรอกเข้ามา
กรณีที่พบข้อมูลโปรแกรมจะทำการส่ง Username และ Password ทางอีเมล์
การส่งอีเมล์
เมื่อกลับไปเช็คอีเมล์ก็จะได้รับข้อมูลที่ทำการ ร้องขอผ่านทาง Forgot Password
$strTo = $objResult["txtEmail"];
$strSubject = "Your Account information username and password.";
$strHeader = "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "From: [email protected]\nReply-To: [email protected]";
$strMessage = "";
$strMessage .= "Welcome : ".$objResult["Name"]."<br>";
$strMessage .= "Username : ".$objResult["Username"]."<br>";
$strMessage .= "Password : ".$objResult["Password"]."<br>";
$strMessage .= "=================================<br>";
$strMessage .= "ThaiCreate.Com<br>";
$flgSend = mail($strTo,$strSubject,$strMessage,$strHeader);
ส่วนของโปรแกรมที่มีการแจ้ง Username และ Password ทางอีเมล์ สามารถแก้ไขรายละเอียดของข้อความได้ที่นี่
สำหรับ ตัวอย่างการทำ Form Register และ Login สามารถอ่านเพิ่มเติมได้ที่
Go to : PHP Member Register and Email Activation ยืนยันการสมัครสมาชิกทางอีเมล์
Go to : PHP MySQL กับ Login Form ทำระบบ User ล็อกอิน แบบง่าย ๆ ด้วย PHP และ MySQL โดยทำการตรวจสอบ Username และ Password
บทความที่เกี่ยวข้อง
Go to : PHP Authentication : การใช้งาน Authentication ตรวจสอบสถานะการ Login
Go to : PHP Session ($_SESSION,$HTTP_SESSION_VARS)
Go to : PHP MySQL : Connect to MySQL Database ภาษา PHP กับฐานข้อมูล MySQL
|
|
|
By : |
TC Admin
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2011-07-07 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|