PHP Workshop ระบบสมาชิก แบบละเอียด ตอนที่ 2
PHP
ในตอนที่ 1 นั้นเป็นการสร้างฐานข้อมูลเพื่อใช้ในระบบสมาชิก และในบทความนี้(ตอนที่2)เป็นการเขียนโปรแกรมโดยใช้ Netbeans IDE โดยเริ่มจากการสร้างโปรเจ็คและเขียนไปทีละส่วนงาน เพื่อให้ผู้อ่านทุกคนสามารถเข้าใจได้ง่าย ในบทความนี้จะเขียนอธิบายเกี่ยวกับการเข้าสู่ระบบ เริ่มจากการสร้างหน้าจอและการเขียนโค๊ด และท้ายบทความจะเขียนขั้นตอนการทำงาน
- เปิด Netbeans IDE ขึ้นมาแล้วสร้าง Project ชื่อว่า "member" โดยขั้นตอนการสร้าง Project สามารอ่านได้จากบทความนี้ คลิกที่นี้เพื่ออ่าน

- สร้างไฟล์ signin.php (ไฟล์หน้าจอเข้าสู่ระบบ)? โดยให้คุณคลิกขวาที่ Soruce files -> New -> PHP FIle... แล้วตั้งชื่อไฟล์ signin.php และนำ Code ด้านล่างไปใส่ในไฟล์
<?php
session_start();
$_SESSION['frmAction'] = md5('itoffside.com' . rand(1,999999));
?>
<html>
<head>
<meta charset="UTF-8">
<title>เข้าสู่ระบบสมาชิก</title>
</head>
<body>
<form name="signin" action="signin-action.php" method="POST">
<table border="0">
<thead>
<tr>
<th></th>
<th>เข้าสู่ระบบ</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: right; width: 200px;">Username :</td>
<td><input type="text" name="username" value="" size="25" /></td>
</tr>
<tr>
<td style="text-align: right;">Password :</td>
<td><input type="password" name="password" value="" size="20" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="ตกลง" name="submit" /></td>
</tr>
</tbody>
</table>
<input type="hidden" name="frmAction" value="<?php echo $_SESSION['frmAction']; ?>" />
</form>
</body>
</html>
- หลังจากสร้างหน้าจอเข้าสู่ระบบแล้วให้สร้างไฟล์ชื่อ "config.php" แล้วนำ Code ไปวางใส่ในไฟล์
อธิบาย code : ไฟล์ที่ใช้ในการเชื่อมต่อฐานข้อมูล mysql และสามารถเปลี่ยนค่าตัวแปรรหัสผ่านเข้า SQL? หรือชื่อฐานข้อมูลที่ต้องการเชื่อมต่อ
<?php
/*
* set var
*/
$cfHost = "localhost";
$cfUser = "root";
$cfPassword = "";
$cfDatabase = "mydata";
/*
* connection mysql
*/
$meConnect = mysql_connect($cfHost,$cfUser,$cfPassword) or die("Error conncetion mysql...");
$meDatabase = mysql_select_db($cfDatabase);
mysql_query("SET NAMES UTF8");
?>
- แทรกแถวข้อมูลใส่ตาราง member ซึ่งในบทความนี้จะแทรก user ชื่อ admin และรหัสผ่าน 1234 ลงไป โดยให้ผู้อ่านคัดลอกแล้วนำไป run ที่ PHPMYAdmin
INSERT INTO `mydata`.`member` (`id`, `username`, `password`, `firstname`, `lastname`, `sex`, `phone`, `email`, `active`, `create_date`, `modified_date`) VALUES (NULL, 'admin', '81dc9bdb52d04dc20036dbd8313ed055', 'ขจร', 'ปรามาร', '1', '0811448147', 'it@itoffside.com', '2', '2014-02-13 02:11:04', '');
- เมื่อคุณสร้างแถวข้อมูลเสร็จแล้วต่อจากนั้นคุณก็สร้างไฟล์ "signin-action.php" แล้วนำ code ด้านล่างไปใส่ในไฟล์
<?php
session_start();
echo "<meta charset=\"UTF-8\">";
if (isset($_SESSION['frmAction']) == isset($_POST['frmAction'])) {
/*
* include file
*/
include 'config.php';
/*
* set var
*/
$username = mysql_real_escape_string(trim($_POST['username']));
$password = mysql_real_escape_string(trim(md5($_POST['password'])));
/*
* unset var
*/
unset($_SESSION['frmAction']);
/*
* logical programming&Database
*/
$meSQL = "SELECT id,username,active FROM member WHERE username='{$username}' AND password='{$password}' AND active != 0";
$meQuery = mysql_query($meSQL);
$meCount = mysql_num_rows($meQuery);
if ($meCount == 1) {
$meResult = mysql_fetch_assoc($meQuery);
$_SESSION['id'] = $meResult['id'];
$_SESSION['username'] = $meResult['username'];
$_SESSION['active'] = $meResult['active'];
$_SESSION['checkSign'] = 'itoffside';
echo "เข้าสู่ระบบสำเร็จ";
echo "<br/>";
echo "<a href='mainpage.php'>ไปหน้าจัดการข้อมูล</a>";
} else {
echo "ไม่สามารถเข้าสู่ระบบได้เนื่องจากรหัสผิดพลาด";
echo "<br/>";
echo "<a href='signin.php'>กลับไปหน้าเดิม</a>";
}
} else {
echo "มีข้อผิดพลาดระหว่าง Session!";
echo "<br/>";
echo "<a href='signin.php'>กลับไปหน้าเดิม</a>";
}
?>
- ไฟล์ config.php เป็นไฟล์เชื่อมต่อฐานข้อมูลจะถูกเรียกใช้เมื่อมีการเชื่อมต่อฐานข้อมูล โดยส่วนมากมักจะเรียกใช้แบบ include,require
- ไฟล์ signin.php หน้าจอการเข้าสู่ระบบ โดยระบบผู้ใช้และผู้ดูแลสามารถใช้งานในหน้าจอเดียวกันได้
- ไฟล์ signin-action ทำหน้าที่ตรวจสอบข้อมูลจากการส่งค่า POST มาจากไฟล์ signin.php หากมีข้อมูลถูกต้องก็สามารถเข้าถึงและจัดการข้อมูลได้
อ่านต่อ บทความต่อไปของ PHP Workshop ระบบสมาชิก แบบละเอียด ตอนที่ 3
แชร์บทความนี้
โปรแกรมเมอร์
itOffside
ความเห็น (28)