Free Hosting

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

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

ต่อจาก บทที่ 2  บทนี้จะเป็นเรื่อง Login  พัฒนาต่อมาจาก  บทความphp--ทำระบบLoginด้วยsessionPhp+Mysql
 
 ไฟล์หน้า login.php   เหมือนบทความเก่า แค่ form ส่งค่า
  1. <form action="loginresult.php" method="post">    
  2. <table align="center" width="400" border="0" cellpadding="5" cellspacing="0">    
  3. <tr><td>Username : <input type="email" name="memberemail"></td></tr>    
  4. <tr><td>Password : <input type="password" name="memberpass"></td></tr>    
  5. <tr><td><input type="submit" value="Login"></td></tr>    
  6. <tr><td><a href="lostpass.php">ลืมรหัสผ่าน</a></td></tr>
  7. </table>    
  8. </form> 

ไฟล์หน้า loginresult.php
  1. <?php    
  2. include_once("connect.php");

  3. $memberemail=$_POST['memberemail'];
  4. $memberpass=md5($_POST['memberpass']);
  5.     
  6. $rslogin = mysql_query("select * from member where (memberemail='$memberemail') and (memberpass='$memberpass')");    
  7. $rowlogin=mysql_fetch_array($rslogin);    
  8. $num_rows = mysql_num_rows($rslogin);   //เช็คว่าค่า user และ password ที่กรอกเข้ามามีอยู่หรือไม่ ถ้าเจอก็ login ได้   
  9.     
  10. if(emptyempty($num_rows)) {  // ถ้าไม่เจอ record เลย  
  11.     echo "username หรือ password ไม่ถูกต้อง   <a href=login.php>แก้ไข</a>";    
  12.     
  13. else {    
  14.     $_SESSION['sess_memberemail'] = $rowlogin['memberemail'];
  15.     $_SESSION['sess_membername'] = $rowlogin['membername'];    
  16.     @header("Location:memberzone.php");  // redirect ไปหน้า memberzone.php  
  17.     exit;    
  18. }    
  19. ?>   

ไฟล์  checklogin.php 
  1. <?php    
  2. session_start();    
  3.     
  4. if($_SESSION['sess_memberemail']=="") {    
  5.     echo "<META HTTP-EQUIV=Refresh content=0;URL=login.php>";    
  6.  }    
  7. ?>  

ไฟล์ memberzone.php   หน้านี้ใส่โค้ด html หรืออะไรก็แล้วแต่  แล้วก็ใส่ link สำหรับ logout ไว้สำหรับออกจากระบบ

  1. <?php  
  2.  include_once("checklogin.php");  
  3.  include_once("connect.php");  
  4.   
  5.   
  6. หน้านี้ใส่โค้ดสำหรับสมาชิก  
  7.   
  8.   
  9. <a href="logout.php">Logout</a>  
  10.   
  11. ?>  

ไฟล์ logout.php
 
 สำหรับการ logout มี 2 วิธี  วิธีแรกแบบล้าง session ทุกชื่อ
  1. <?php  
  2. session_start();  
  3. session_destroy();  
  4.   
  5.   echo "<META HTTP-EQUIV=Refresh content=0;URL=login.php>";
  6. ?>  
 วิธี 2  ล้าง session เฉพาะสมาชิก  บางทีจะมี session ตะกร้า หรือ session อื่นๆ ที่จะเก็บไว้  
  1. <?php    
  2. session_start();    
  3. unset($_SESSION["sess_memberemail"]);  
  4. unset($_SESSION["sess_membername"]);  
  5.   
  6.   echo "<META HTTP-EQUIV=Refresh content=0;URL=login.php>";  
  7. ?>  

 ในตัวอย่างใช้ meta refresh แต่จริงๆ ควร redirect ด้วย header location
ต่างกันอย่างไร ถ้าใช้ meta refresh จะสามารถกด back กลับได้ แต่ถ้าใช้ header จะ back ไม่ได้ ลองดูสิ 
 
 
 

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

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


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

Free Hosting

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

Free Hosting
 

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