Login ด้วย Session สมัครสมาชิก ยืนยันสมัคร ลืมรหัสผ่าน ครบชุด 2

วันที่ลง : 22/03/2014 22:43:17   แชร์ :

Login ด้วย Session สมัครสมาชิก ยืนยันสมัคร ลืมรหัสผ่าน ครบชุด 2

สร้างไฟล์ connect.php เอาไว้ติดต่อฐานข้อมูล  เวลาใช้ให้ include file นี้
  1. <?php
  2. @session_start();
  3. $dbname="databasename";   
  4. $dbhost="localhost";   
  5. $dbuser="userdb";  
  6. $dbpass="userpass";  
  7.       
  8. @$Conn=mysql_connect("$dbhost","$dbuser","$dbpass"or die("Not Connect");  
  9. mysql_select_db("$dbname",$Conn);  
  10.   
  11. $charset = "SET NAMES 'utf8'";  
  12. mysql_query($charset);  
  13. mysql_query("SET Character_set_results=utf8");  
  14. mysql_query("SET Character_set_client=utf8");  
  15. mysql_query("SET Character_set_cennection=utf8");  
  16. mysql_query("SET Collation_connection=utf8_bin");  
  17. mysql_query("SET Character_database=utf8_thai_ci");  
  18. mysql_query("SET Character_server=utf8_thai_ci");
  19. ?>  
แก้ไข dbname ชื่อฐานข้อมูล  / dbuser คือ user ของ database  / dbpass  รหัสผ่านฐานข้อมูล
แก้ตรงสีน้ำเงินในเครื่องหมาย " "
 
สร้างไฟล์หน้า signup.php 
  1. <html lang="th">  
  2. <head>  
  3. <meta charset="UTF-8">  
  4. </head>  
  5.    
  6. <form action="signupresult.php" method="post">    
  7. E-mail : <input type="email" name="memberemail" required><br>    
  8. Password :  <input type="password" name="memeberpass" required><br>    
  9. Name :  <input type="text" name="
    membername
    "
     required><br>    
  10. <img src='showcaptcha.php?img=<?php echo time();?>'>   <input type="text" name="thaicode"><br>  
  11. <input type="submit" value="สมัคร">    
  12. </form>    
 ตรงนี้จะใช้รูปแบบ html5 แล้ว สังเกตุ input type=email 
 
ให้ทำการดาวน์โหลด captcha  ไปด้วย แล้ววางใน folder เดียวกัน เพื่อจะเรียกมาเช็คค่าได้  
 * ไม่อ่านตรงนี้ ระวัง งง กันเป็นแถว ทำไมทำไม่ได้ซักที 
 
 สร้างไฟล์หน้า signupresult.php
  1. <?php
  2. include_once("connect.php");

  3. $memberemail=$_POST['memberemail'];  
  4. $memberpass=md5($_POST['memberpass']);  // เข้ารหัส md5 ให้ตัวแปรรหัสผ่าน
  5. $membername=$_POST['membername'];  
  6.   
  7. $thaicaptcha_md5=$_SESSION['thaicaptcha_md5'];  
  8. $thaicode=$_POST['thaicode'];  
  9.   
  10.   
  11. if($thaicaptcha_md5!=md5($thaicode)) {  
  12.     echo "โค้ด Captcha ไม่ถูกต้อง   <a href=signup.php>แก้ไข</a>"  
  13.   
  14.   
  15. else {  
  16.   
  17. $confirmcode=rand(10000000,99999999);  
  18.   
  19.     $emailadmin="test@yourdomain";  // เมลคนส่ง  
  20. $sendto=$memberemail;  
  21.           
  22.         $mailheaders = "From: ".$emailadmin."\n";  
  23.         $mailheaders .= "Content-type: text/html;charset=UTF-8\n";  
  24.         $mailheaders .= "X-Priority: 1\n";  
  25.         $mailheaders .= "Importance: High\n";  
  26.         $mailheaders .= "X-MSMail-Priority: High\n";  
  27.         $mailheaders .= "X-Mailer: Mailler With PHP!\n";  
  28.   
  29.         $mailsubject = "ตอบรับสมัครสมาชิก";  
  30.           
  31.         $body = "<html>  
  32.         <body>";  
  33.         $body .= "<a href=http://www.yourweb.com/confirm.php?memberemail=".$memberemail."&confirmcode=".$confirmcode.">คลิ้กยืนยันสมัคร</a>";  
  34.         $body .= "</body>";  
  35.         $body .= "</html>";             
  36.         mail($sendto$mailsubject$body$mailheaders);  
  37.    
  38.   
  39. mysql_query("insert into member set   
  40. memberemail='$memberemail' ,  
  41. memberpass='$memberpass' ,  
  42. membername='$membername' ,   
  43. confirmcode='$confirmcode'   
  44. ");  
  45.   
  46.   
  47. echo"success";  
  48.   
  49. }  
  50. ?>
รับค่าตัวแปรจากหน้า signup.php จากนั้นตรวจสอบ captcha ถ้าถูกให้ส่งเมล และบันทึกลงฐานข้อมูล
การส่งเมลยืนยันจะส่งโค้ดที่ต้องยืนยัน  email และ confirmcode ทั้ง 2 ตัวจะต้องมีในฐานข้อมูลตรงกันถึงจะอัพเดตว่า ยืนยันสมัครแล้ว 
อย่าลืมแก้ email ผู้ส่ง และ Link ที่ให้คลิ้กยืนยัน 
 
 
สร้างไฟล์หน้า confirm.php
  1. <?php  
  2. include_once("connect.php");

  3. $memberemail=$_GET['memberemail'];
  4. $confirmcode=$_GET['confirmcode'];


  5. $rs=mysql_query("select * from member where memberemail='$memberemail' and confirmcode='$confirmcode' ");  
  6. $row=mysql_fetch_array($rs);  
  7. $count=mysql_num_rows($rs);  
  8.   
  9. if(!empty($count)) {  
  10.   
  11. mysql_query("update member set confirm='y' where memberemail='$memberemail' and confirmcode='$confirmcode' ");  
  12.   
  13. echo "ยืนยันแล้ว  <a href=login.php>Login คลิ้กเลย</a>";  
  14.   
  15. else {  
  16. echo "email หรือ confirm code ไม่ถูกต้อง";  
  17. }  
  18. ?>  
 ไฟล์ confirm ทำการเช็ค email และ confirm code ที่กดจากอีเมลถูกต้องหรือไม่ ถ้าถูกให้อัพเดต field confirm ให้เป็น y
 
เท่านี้ก็จบในส่วนของการสมัครและยืนยันแล้ว บทต่อไปต่อเรื่อง login และ ลืมรหัสผ่าน
 


บทความก่อนหน้า
Login ด้วย Session สมัครสมาชิก ยืนยันสมัคร ลืมรหัสผ่าน ครบชุด 1
บทความต่อไป
Login ด้วย Session สมัครสมาชิก ยืนยันสมัคร ลืมรหัสผ่าน ครบชุด 3

บทความสงวนลิขสิทธิ์นะ กรุณาอย่า copy ไปแปะ มันไม่ดีต่อความรู้สึก
คุณสามารถเปิดหน้านี้ได้ง่ายๆ ไม่ต้องพิมพ์เอง ด้วยการใช้โปรแกรม QR Reader เพียงสแกนผ่านมือถือหรือ Tablet สแกนไปยัง QR Code

Google Search Ranking

ตรวจสอบอันดับเว็บใน Google เว็บคุณอยู่อันดับไหน ด้วย keywordที่กำหนด

ค้นจาก

Website

Keyword


PHP Captcha Pro 1.0


PHP Code captcha เวอร์ชั่น Pro สุ่มได้ภาษาอังกฤษ ไทย และตัวเลข เลือกสุ่มเฉพาะอย่างได้ สุ่มสีตัวอักษร สุ่มสี background กำหนดความกว้างสูงรูป กำหนดจำนวนตัวอักษรที่สุ่ม เปลี่ยน font ได้ สามารถ Refresh ภาพ โดยไม่ต้อง refresh ทั้งหน้า
จำหน่าย 300 บาท   ดูรายละเอียดเพิ่มเติม
ตัวอย่าง 1
ตัวอย่าง 2

Thaiquick.com

เว็บโฮสติ้ง 500 mb. เริ่มต้นปีละ 1,000 บาท วางกสท Direct admin ลง Linux Centos รองรับ PHP , Mysql บริหารโดยทีมงาน PHPThai.com   www.Thaiquick.com

Responsive Test

Responsive Test จำลองการทดสอบเปิด Web ขนาดหลายหน้าจอ PC กว้างไม่เท่ากัน เปิดบนมือถือหน้าตาอย่างไร ลองทดสอบดู







 
 

↑ Go top