8. กรณีศึกษาระบบสมาชิก (Member System)
- วางแผน และจัดทำระบบ Admin Log In และ
Log Out
- สร้างฐานข้อมูล และตาราง
ที่ออกแบบมาสำหรับเก็บข้อมูลสมาชิก
- เขียนฟอร์มรับข้อมูล
และโปรแกรมนำข้อมูลไปเก็บในฐานข้อมูล
- เขียนโปรแกรมแสดงข้อมูล
- เขียนฟอร์มรับคำสั่งลบ และโปรแกรมสำหรับ
ลบข้อมูล
- การเขียนโปรแกรมคือ
การทำงานตามที่ผู้ออกแบบระบบออกแบบไว้
|
ex.801
apply.htm |
ฟอร์มสมัครของผู้ใช้ และเข้าระบบ Administrator
<body>
<form action=apply.php method=post>
Name : <input name=mname><br>
Surname : <input name=msurn><br>
Address : <input name=maddr><br>
<input type=submit>
</form>
<form action=session.php method=post>
Admin Password :
<input name=admin type=password><br>
<input type=submit value='Log in'>
</form>
<form action=session.php method=post>
<input type=submit value='Log Out'>
</form>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
Name :
Surname :
Address :
Admin Password :
|
ex.802
session.php |
ตรวจรหัส Admin และเก็บสถานะ
Admin
<?
session_start();
$_SESSION['admin'] = "";
if (isset($_POST['admin'])) {
if ($_POST['admin']
== "p")
$_SESSION['admin'] = "ok";
}
echo $_SESSION['admin']."<br>";
echo date("d/m/Y H:i:s")."<br>";
?>
<a href=crtdbm.php>crtdbm.php</a>
<a href=display.php>display.php</a>
<a href=apply.php>apply.php</a>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
# สำหรับผู้ดูแลระบบ ส่งรหัสผ่านเข้ามาตรวจ
# รหัสที่ถูกต้องตามตัวอย่างคือ p
|
ex.803
crtdbm.php |
สร้างฐานข้อมูล ถ้าเป็น Admin
<?
session_start();
if ($_SESSION['admin'] != "ok") exit;
$db = "mem";
$tb = "member";
$host = "127.0.0.1:3306";
$uname = "admin"; // root
$passwd = "p";
if (!$connect=mysql_connect($host,$uname,$passwd)){
echo 'Could not
connect to mysql';
exit;
}
$s = "create database $db";
if (!$result=mysql_query($s,$connect))
echo "$s :
error<br>";
else {
echo "$s :
ok<br>";
$s="create
table $tb (";
$s.="mid int
primary key not null auto_increment,";
$s.="mname
char(40),msurn char(40),maddr char(40))";
if
(!$result=mysql_db_query($db,$s))
echo "$s :
error<br>";
else
echo "$s :
ok<br>";
}
mysql_close($connect);
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
# สร้างฐานข้อมูลชื่อ mem
# สร้างฐานข้อมูลชื่อ member
# ไม่จำเป็นต้องใช้ตัวแปรชื่อ $sql จะใช้
$s ก็ได้
|
ex.804
apply.php |
ผู้ใช้สมัครสมาชิก
<?
$db = "mem";
$tb = "member";
$host = "127.0.0.1:3306";
$uname = "admin"; // root
$passwd = "p";
if (!$connect=mysql_connect($host,$uname,$passwd)){
echo 'Could not
connect to mysql';
exit;
}
if (isset($_POST["mname"]) &&
isset($_POST["mname"])){
$sql="insert
into $tb values('',";
$sql.="'".$_POST["mname"]."',";
$sql.="'".$_POST["msurn"]."',";
$sql.="'".$_POST["maddr"]."')";
if
(!$result=mysql_db_query($db,$sql))
echo "$sql
: error<br>";
else {
echo "$sql
: ok<br>";
}
}
mysql_close($connect);
?>
<br><a href=apply.htm>apply.htm</a>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
# รับข้อมูลจากฟอร์มใน apply.htm
# เพิ่มข้อมูลสมาชิกในตาราง
|
ex.805
display.php |
แสดงข้อมูล ถ้าเป็น Admin
<?
session_start();
if ($_SESSION['admin'] != "ok") exit;
$db = "mem";
$tb = "member";
$host = "127.0.0.1:3306";
$uname = "admin"; // root
$passwd = "p";
if (!$connect=mysql_connect($host,$uname,$passwd)){
echo 'Could not
connect to mysql';
exit;
}
echo "Display Members : <ol>";
$query="select * from $tb order by mid";
if($result = mysql_db_query($db,$query)) {
while ($object =
mysql_fetch_object($result)) {
echo
"<li>" . $object->mid . "<br>";
echo
$object->mname . "<br>";
echo
$object->msurn . "<br>";
echo
$object->maddr . "<br>";
echo"<a
href=del.php?mid=".$object->mid.">x</a>";
}
echo
"</ol>Total records:".mysql_num_rows($result);
}
mysql_close($connect);
?>
<br><a href=apply.htm>apply.htm</a>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
Display Members :
Total records : 2
|
ex.806
del.php |
ลบข้อมูลตาม mid ถ้าเป็น
Admin
<?
session_start();
if ($_SESSION['admin'] != "ok") exit;
$db = "mem";
$tb = "member";
$host = "127.0.0.1:3306";
$uname = "admin"; // root
$passwd = "p";
if (!$connect=mysql_connect($host,$uname,$passwd)){
echo 'Could not
connect to mysql';
exit;
}
if (isset($_GET["mid"])) {
$sql="delete
from $tb where mid =".$_GET["mid"];
if
(!$result=mysql_db_query($db,$sql))
echo "$sql
: error<br>";
else {
echo "$sql
: ok<br>";
}
}
mysql_close($connect);
?>
<br><a href=apply.htm>apply.htm</a>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
# รับข้อมูลจากฟอร์มใน apply.htm
# ลบข้อมูลสมาชิกในตาราง ตาม mid
|