การทำระบบล๊อคอิน ล๊อคเอ้า และป้องกันการลักไก่ PHP Code LOGIN LOGOUT
สำหรับนักเขียนโปรแกรม ไม่ว่าจะเป็นด้วยภาษาอะไรก็ตามแต่ก็ต้องเจอแน่ ๆ กับระบบสมาชิก หรือ ระบบล๊อกอิน ล๊อกเอ้าสำหรับมือใหม่นั้น ก็ถือว่าอาจจะงง ๆ ไปไม่ถูกเลยทีเดียว ถ้าไม่มีตัวอย่างที่เข้าใจง่าย ๆ มาศึกษา
ดังนั้น บทความนี้ ผมจึงเต็มใจเสนอครับ เกี่ยวกับระบบดังกล่าวเอาแบบขึ้นพื้นฐาน ที่ใช้งานได้จริง ส่วนใครจะเอาไปต่อยอด เพิ่มเติมให้สวยงาม อลังการงานสร้างก็ได้
กระบวนการ การทำงานของระบบนี้
- ผู้ใช้กรอกชื่อและรหัสผ่าน สำหรับเข้าใช้งาน คลิกที่ปุ่ม LOG - IN
- ระบบจะทำการตรวจเช็คว่าผู้ใช้นี้ และรหัสผ่านนี้ มีอยู่ในระบบหรือไม่
- ถ้าไม่มีก็แจ้งให้สมัครสมาชิก
- ถ้ามีก็ให้เข้าใช้งานได้ โดยระบบจะจดจำสมาชิกไว้ด้วย โดยตัวแปร _SESSION
- ผู้ใช้ยังไม่ล๊อกอินเข้าสู่ระบบ จะไม่สามารถเข้าใช้งานหน้านั้น ๆ ได้ (ถ้าไม่เขียนโค้ดดักไว้ บางคนก็จะ Bookmark หน้านั้นไว้
แล้วก็เข้ามาดูได้ในภายหลัง โดยไม่สมัีครสมาชิก)
- หากผู้ใช้ต้องการออกจากระบบก็ให้ทำการ ล๊อกเอ้า
<? // เมื่อกรอกชื่อ รหัส แล้วคลิกปุ่ม LOG - IN ก็จะเข้าเงื่อนไขการตรวจเช็ค
if($OK==" LOG - IN " ){ // ถ้ามีการคลิกปุ่ม LOG - IN
ob_start();
SESSION_START(); // ประกาศตัวแปรไว้สำหรับจำผู้ใช้งาน
SESSION_REGISTER("user"); // ตั้งชื่อตัวแปร
$sql="Select * from user Where user_name ='".$username."' and pwd='".$password2."' and status_use='Y'"; // เลือกดูข้อมูลผู้ใช้ ตามชื่อ และรหัสผ่านที่ส่งมา
$rstTemp=mysql_query($sql);
if(mysql_num_rows($rstTemp)==0){ // ถ้าได้ค่า rows =0 แสดงว่าชื่อ หรือ รหัสผ่าน ไม่มีอยู่ในระบบ หรือไม่ถูกต้อง
$_SESSION["user"]=""; // เซ็ตค่าตัวแปร=ค่าว่าง
?>
<script language="JavaScript">alert("User Name หรือ Password ไม่ถูกต้อง หรืออายุการใช้งานหมด \r\n\r\nกรุณาลองใหม่อีกครั้ง หรือติดต่อเว็บมาสเตอร์ \r\n\r\nเพื่อสมัครสมาชิกใหม่ หรือต่ออายุการใช้งาน ...... ^_^\r\n\r\n ");</script> // แจ้งให้ผู้ใช้ทราบว่า การล๊อกอินไม่สำเร็จ
<?
}else{ // ถ้าได้ค่า rows=1 แสดงว่าชื่อและรหัสผ่านถูกต้อง
$_SESSION["user"]=$username; // เซ็ตค่าผู้ใช้ให้กับตัวแปร
$_SESSION["user_name"]=mysql_result($rstTemp,0,"name"); // สร้างตัวแปรเพื่อเก็บชื่อจริงของผู้ใช้
$uName=mysql_result($rstTemp,0,"name"); // ตัวแปรเก็บชื่อจริงอีกตัว เอาไว้ใช้งานข้างล่างนี้หล่ะ
?>
<script language="JavaScript">alert("สวัสดีครับคุณ <?=$uName?> \r\n\r\nยินดีต้อนรับเข้าสู้เว็บไซต์ ( www.สูตรหวย.com ) \r\n\r\nขอให้โชคดี นะครับ ...... ^_^\r\n\r\n ");
</script> // แจ้งให้ผู้ใช้ทราบว่า การล๊อกอินได้เสร็จสมบูรณ์แล้ว
<?
}
}?>
โค้ดป้องกันการลักไก่ เข้าใช้งานโดยไม่ได้รับอนุญาติ เช่น หน้าโพส เราจะให้เฉพาะสมาชิกเท่านั้นที่จะสามารถโพสได้
แต่ถ้าเราไ่ม่ป้องกันเอาไว้ พวกหัวใสเขาก็จะพิมพ์ ที่อยู่ของหน้านั้น ๆ เข้าใช้งานได้สบายอุราเลยทีเดียว
ดังนั้นเราจึงจำเป็นต้องป้องกันหน้านั้น ๆ ไว้ โดยอาจจะสร้างเป็นไฟล์ Check_User.php ขึ้นมาก็ได้ เพราะถ้าเผื่อมีหลายหน้า
โค้ดมันจะซ้ำซ้อน และเวลาปรับเปลี่ยนจะยุ่งยากมาก หากวางไว้ทุก ๆ ไฟล์
โค้ดตรวจสอบ
<?
session_start();
if($_SESSION['user'] ==""){ // ถ้า $_SESSION['user'=ค่าว่าง แสดงว่าเขากำลังจะมาลักไก่เรา
?>
<script type="text/javascript">
alert ('สงวนสิทธิ์การใช้งานเฉพาะสมาชิกเท่านั้น หรือ \r\n \r\n ถ้าคุณเป็นสมาชิกอยู่แล้ว กรุณาล๊อกอินเข้าสู่ระบบก่อนนะครับ\r\n \r\nหรือ ถ้าคุณยังไม่สมัครเป็นสมาชิก\r\nกรุณาติดต่อสมัครสมาชิก เพื่อใช้งานด้วยนะครับ\r\n \r\n ...ขอบคุณครับ'); // เราก็แจ้งเลยว่า หยุด อย่าขยับ เจ้าหน้าที่ล้อมไว้หมดแล้ว
window.location="index.php"; // แล้วก็ส่งเขากลับไปหน้าแรก หรือหน้าสำหรับสมัครสมาชิกเลย
</script>
<? } ?>
โค้ดส่วนของการล๊อกเอ้า Log-OUt
<?
if($Logout=="Y"){ // เช็คว่าผู้ใช้ได้คลิกล๊อกเอ้าหรือไม่ ถ้าใช่ก็ต่อเลย
session_start();
session_destroy(); // ล้างค่าตัวแปร Session
$_SESSION["user"]=""; // กำหนดค่าว่างเปล่าให้กับตัวแปร
?>
<script language="JavaScript">alert("คุณได้ออกจากระบบเรียบร้อยแล้วครับ \r\n\r\n ขอบคุณที่สละเวลาแวะเข้ามาเยี่ยมชมเว็บไซต์เรา\r\n\r\n โอกาสหน้ามาใหม่นะครับ...... ^_^\r\n\r\n ");
</script> // แล้วก็แจ้งว่าผู้่ใช้ออกจากระบบแล้ว
<? }?>