บทนี้เกี่ยวกับ ลืมรหัสผ่าน ส่วนสุดท้ายแล้วสำหรับระบบสมาชิก
Concept คือ ให้ใส่ email เข้ามา ถ้าเจอ email จะสร้างรหัสผ่านใหม่ บันทึกลงเบส และส่งเมลไปแจ้งสมาชิกทาง email
ไฟล์ lostpass.php
- <form action="lostpassresult.php" method="post">
- E-mail : <input type="email" name="memberemail" required><br>
- <input type="submit" value="ขอรหัสผ่าน">
- </form
- <?php
- include_once("connect.php");
- $memberemail=$_POST['memberemail'];
- $rs=mysql_query("select memberemail from member where memberemail='$memberemail' ");
- $row=mysql_fetch_array($rs);
- $count=mysql_num_rows($rs);
- if(!emptyempty($count)) {
- $newpass=rand(10000000,99999999); // ทำการสุ่มสร้างรหัสใหม่
- $newpass_md5=md5($newpass); // แปลงเป็น md5 เพื่อบันทึกลงเบส
- mysql_query("update member set memberpass='$newpass_md5' where memberemail='$memberemail' "); // บันทึกรหัสใหม่ลงฐานข้อมูล
- // ส่งรหัสใหม่ให้สมาชิกทางเมล
- $emailadmin="test@yourdomain"; // เมลคนส่ง
- $sendto=$memberemail;
- $mailheaders = "From: ".$emailadmin."\n";
- $mailheaders .= "Content-type: text/html;charset=UTF-8\n";
- $mailheaders .= "X-Priority: 1\n";
- $mailheaders .= "Importance: High\n";
- $mailheaders .= "X-MSMail-Priority: High\n";
- $mailheaders .= "X-Mailer: Mailler With PHP!\n";
- $mailsubject = "รหัสผ่านใหม่";
- $body = "<html>
- <body>";
- $body .= "รหัสผ่านใหม่ของคุณคือ ".$newpass;
- $body .= "</body>";
- $body .= "</html>";
- mail($sendto, $mailsubject, $body, $mailheaders);
- } else {
- echo "เมลไม่ถูก";
- }
- ?>
เป็นอันจบสิ้นระบบ Login สมบูรณ์แล้ว
แนะนำสำหรับการใช้งานจริงแบบมืออาชีพ
- การทำลืมรหัสผ่านแบบนี้อาจถูกแกล้งได้ แค่กรอกเมลมาแล้วเจอในฐานข้อมูล มั่วถูกรหัสลูกค้าก็โดนเปลี่ยนเรื่อยๆ
- วิธีแก้คือ ลืมรหัสผ่านทำ 2 ชั้น คือ ลืมรหัสมาครั้งแรกยังไม่ทำการสร้างรหัสใหม่ แต่ส่ง link confirm ว่าแก้รหัสจริงๆ นะ
- จากนั้นเมื่อ confirm การขอรหัสใหม่ ค่อยสร้างรหัสใหม่ และส่งไป
ใครอยากได้ source + sql แบบ zip file คิด 300 บาท ช่วยค่า Server บอกก่อนไม่แตกต่างจากที่ลงไว้ในบทความ
โอนเงิน 300 บาท เข้าบัญชี ดูเบอร์บัญชีแจ้งมาที่ webmaster@smilephp.com แจ้ง ธนาคาร วันและเวลาโอน เราะจะส่งไฟล์กลับไปให้ทางเมล
เครดิต http://www.phpthai.com/
0 ความคิดเห็น:
แสดงความคิดเห็น