|
(SQLSRV) PHP SQL Server กับ Login Form ตรวจสอบ User/Password แบบง่าย ๆ ด้วย sqlsrv |
(SQLSRV) PHP SQL Server กับ Login Form อัพเดด Code การทำ Form Login แบบง่าย ๆ กับฐานข้อมูล SQL Server กับ ฟังก์ชั่นของ sqlsrv ในตัวอย่างนี้ยังคงรูปแบบตัวอย่าง คือ มีการตรวจสอบ Username และ Password รวมทั้งสถานะว่าเป็น User หรือว่า Admin ร่วมด้วยครับ
(MySQLi) PHP MySQL กับ Login Form ตรวจสอบ User/Password แบบง่าย ๆ ด้วย mysqli
เริ่มต้นด้วยการสร้างตารางชื่อ member
Code (SQL Server)
CREATE TABLE member (
[UserID] int NOT NULL,
[Username] varchar(20) NOT NULL,
[Password] varchar(20) NOT NULL,
[Name] varchar(100) NOT NULL,
[Status] varchar(100) NOT NULL default 'USER',
PRIMARY KEY ([UserID]),
CONSTRAINT [Username] UNIQUE ([Username])
) ;
INSERT INTO member VALUES (001, 'win', 'win123', 'Weerachai Nukitram', 'USER');
INSERT INTO member VALUES (002, 'chai', 'chai123', 'Surachai Sirisart', 'ADMIN');
เกี่ยวกับตารางจะประกอบด้วย UserID , Username , Password , Name , Status โดยช่อง Status เป็นตัวประบุว่าเป็น ADMIN หรือว่า User ครับ
ตังอย่าง Code ทั้งหมด
login.php เป็น Form Login
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
<form name="form1" method="post" action="check_login.php">
Login<br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td> Username</td>
<td>
<input name="txtUsername" type="text" id="txtUsername">
</td>
</tr>
<tr>
<td> Password</td>
<td><input name="txtPassword" type="password" id="txtPassword">
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>
check_login.php เป็น Check Login
Code (PHP)
<?php
ini_set('display_errors', 0);
error_reporting(~0);
session_start();
$serverName = "localhost\\SQLEXPRESS";
$dbName = "mydatabase";
$connectionInfo = array("Database"=>$dbName, "MultipleActiveResultSets"=>true, "CharacterSet" => 'UTF-8');
$objCon = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$strSQL = "SELECT * FROM member WHERE Username=? and Password=?";
$parameters = [$_POST["txtUsername"], $_POST["txtPassword"]];
$objQuery = sqlsrv_query($objCon, $strSQL, $parameters);
$objResult = sqlsrv_fetch_array($objQuery,SQLSRV_FETCH_ASSOC);
if(!$objResult)
{
echo "Username and Password Incorrect!";
}
else
{
$_SESSION["UserID"] = $objResult["UserID"];
$_SESSION["Status"] = $objResult["Status"];
session_write_close();
if($objResult["Status"] == "ADMIN")
{
header("location:admin_page.php");
}
else
{
header("location:user_page.php");
}
}
sqlsrv_close($objCon);
?>
ไฟล์นี้จะทำการตรวจสอบ Username และ Password และสถานะของสมาชิกว่าเป็น Admin หรือ User ถ้าเป็น Admin จะเข้าสู่หน้า admin_page.php และถ้าเป็น User จะเข้าสู่หน้า user_page.php ครับ
admin_page.php เป็นหน้าหลักของ Admin
Code (PHP)
<?php
ini_set('display_errors', 0);
error_reporting(~0);
session_start();
if($_SESSION['UserID'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Status'] != "ADMIN")
{
echo "This page for Admin only!";
exit();
}
$serverName = "localhost\\SQLEXPRESS";
$dbName = "mydatabase";
$connectionInfo = array("Database"=>$dbName, "MultipleActiveResultSets"=>true, "CharacterSet" => 'UTF-8');
$objCon = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";
$objQuery = sqlsrv_query($objCon, $strSQL);
$objResult = sqlsrv_fetch_array($objQuery,SQLSRV_FETCH_ASSOC);
?>
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
Welcome to Admin Page! <br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td width="87"> Username</td>
<td width="197"><?php echo $objResult["Username"];?>
</td>
</tr>
<tr>
<td> Name</td>
<td><?php echo $objResult["Name"];?></td>
</tr>
</tbody>
</table>
</body>
</html>
<?php
sqlsrv_close($objCon);
?>
หน้าหลักของ Admin จะมีการตรวจสอบ Session ว่าผ่านการ Login หรือไม่ และตรวจสอบสถานะด้วยว่าเป็น Admin หรือไม่ครับ
user_page.php เป็นหน้าหลักของ User
Code (PHP)
<?php
ini_set('display_errors', 0);
error_reporting(~0);
session_start();
if($_SESSION['UserID'] == "")
{
echo "Please Login!";
exit();
}
if($_SESSION['Status'] != "USER")
{
echo "This page for User only!";
exit();
}
$serverName = "localhost\\SQLEXPRESS";
$dbName = "mydatabase";
$connectionInfo = array("Database"=>$dbName, "MultipleActiveResultSets"=>true, "CharacterSet" => 'UTF-8');
$objCon = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";
$objQuery = sqlsrv_query($objCon, $strSQL, $parameters);
$objResult = sqlsrv_fetch_array($objQuery,SQLSRV_FETCH_ASSOC);
?>
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
Welcome to User Page! <br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td width="87"> Username</td>
<td width="197"><?php echo $objResult["Username"];?>
</td>
</tr>
<tr>
<td> Name</td>
<td><?php echo $objResult["Name"];?></td>
</tr>
</tbody>
</table>
</body>
</html>
<?php
sqlsrv_close($objCon);
?>
หน้าหลักของ User จะมีการตรวจสอบ Session ว่าผ่านการ Login หรือไม่ และตรวจสอบสถานะด้วยว่าเป็น User หรือไม่ครับ
|
|
|
|
|
|