Free Hosting

วันพุธที่ 17 กุมภาพันธ์ พ.ศ. 2559

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 และ ลืมรหัสผ่าน
 
 

0 ความคิดเห็น:

แสดงความคิดเห็น


พื้นที่โฆษณา

Free Hosting

พื้นที่โฆษณา

Free Hosting
 

Copyright © สอนเขียนโปรแกรม html php css Java SQL jQuery XML Ajax Design by ScriptMasterWebDesign | Theme by ScriptMasterWebDesign | Powered by HosTing