<body>
<form action=”login.php” method=”post” name=”login”>
username <input type=”text” name=”user” /><br />
password <input type=”password” name=”pass” /><br />
<input type=”submit” value=”  Log in  ”/>
</form>
<?
$name = $_POST['user'];
$pass = $_POST['pass'];
$host = “localhost”; //ชื่อโฮสต์
$user = “root”; //ชื่อผู้ใช้
$password = “****”; //รหัสผ่าน
$dbname = “test”; //ชื่อฐานข้อมูล
$tbname = “login”; //ชื่อตาราง
$con = mysql_connect ($host,$user,$password);
if(!$con) {
echo (“not connect database”);
} else {
echo (“welcome”);
}
mysql_select_db($dbname);
$sql = “select * from $tbname where username=’$name’ and password=’$pass’ “; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$result = mysql_db_query($dbname, $sql);
mysql_query(“SET NAMES tis620″);
$num_rows = mysql_num_rows($result);
if($num_rows==1){
echo “ยินดีต้นรับผู้ดูแลระบบ”;
}else {
echo “<BR><FONT COLOR=red>ข้อมูลที่คุณกรอกไม่ถูกต้อง กรุณา Login ใหม่อีกครั้ง</FONT>”;
}
?>
</body>
/*จาก http://teerapuch.wordpress.com/2010/03/23/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%9A-login-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-phpmysql/ */
    การทำระบบ Login โดยใช้ฐานข้อมูล มีหลายคนถามกันเข้ามา    โดยวิธีทำนั้นจะมีหลายแบบด้วยกันแล้วแต่ว่าเราจะเขียน แต่ในที่นี้ผมจะเขียนในส่วนที่สามารถนำไปประยุกต์ต่อกันได้    ลองมาดูขั้นตอนการทำ
ขั้นตอนกาทำ
1. ให้เราสร้าง Database ขั้นมาก่อนเพื่อใช้ในการเก็บค่า user และ pass
# phpMyAdmin MySQL-Dump1. ให้เราสร้าง Database ขั้นมาก่อนเพื่อใช้ในการเก็บค่า user และ pass
# http://phpwizard.net/phpMyAdmin/
#
# Host: localhost Database : test
# -------------------------------------------------------- #
# Table structure for table 'user_login'
#
CREATE TABLE user_login (
id int(11) NOT NULL auto_increment,
user_log char(15) NOT NULL,
pass_log char(15) NOT NULL,
PRIMARY KEY (id)
);
#
# Dumping data for table 'user_login'
#
INSERT INTO user_login VALUES ( '1', 'guest', '1234');
2. หลังจากนั้นให้เราสร้างฟอร์ม Login ในที่นี้ผมใช้ชื่อไฟล์ว่า    form_login.php (* ถ้าฟอร์มที่คุณสร้างนั้นไม่ใช้ภาษา php สามารถ save เป็นไฟล์    HTML ได้)
|  | 
ใครงงดูโค้ดที่นี่ form_login.php
<?session_start();
?>
<html>
<head>
<title>webthaidd.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body bgcolor="#FFFFFF">
<form name="form1" method="post" action="check.php">
User :
<input type="text" name="username_log"> //ชื่อตัวแปลที่ใช้ในการส่งค่า
<br>
Pass :
<input type="password" name="password_log"> //ชื่อตัวแปลที่ใช้ในการส่งค่า <? echo $code_error;?>
<br>
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>
3. ทำการเขียนโค้ดที่ไฟล์ check.php    เพื่อตรวจสอบการ Login ของผู้ใช้
<?session_start();
$hostname = "localhost"; //ชื่อโฮสต์
$user = ""; //ชื่อผู้ใช้
$password = ""; //รหัสผ่าน
$dbname = "test"; //ชื่อฐานข้อมูล
$tblname = "user_login"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from $tblname where user_log='$username_log' and pass_log='$password_log'"; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$dbquery = mysql_db_query($dbname, $sql);
// หาจำนวนเรกคอร์ดข้อมูล
$num_rows = mysql_num_rows($dbquery);
if($num_rows==1){
header("location:http://www.webthaidd.com"); //ไปไปตามหน้าที่คุณต้องการ
}else {
$code_error="<BR><FONT COLOR=\"red\">ข้อมูลที่คุณกรอกไม่ถูกต้อง กรุณา Login ใหม่อีกครั้ง</FONT>";
session_register("code_error");
header("location: form_login.php"); //ไม่ถูกต้องให้กับไปหน้าเดิม
}
?>
4. หลังจากนั้นลองทดสอบดู
user=guest
pass=1234
- ถ้าถูกต้องจะเข้าไปที่เว็บ webthaidd หรือหน้าที่เรากำหนดนั้นๆ
- ถ้าผิดจะแจ้ง error ตามข้อความที่เรากำหนด
/*จากเว็บ http://www.webthaidd.com/php/webthaidd_article_73_.html*/
PHP MySQL กับ Login Form
เริ่มต้นด้วยการสร้างตารางชื่อ member
CREATE TABLE `member` (
`UserID` int(3) unsigned zerofill NOT NULL auto_increment,
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL,
`Name` varchar(100) NOT NULL,
`Status` enum('ADMIN','USER') NOT NULL default 'USER',
PRIMARY KEY (`UserID`),
UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM AUTO_INCREMENT=3 ;
--
-- Dumping data for table `member`
--
INSERT INTO `member` VALUES (001, 'win', 'win123', 'Weerachai Nukitram', 'USER');
INSERT INTO `member` VALUES (002, 'chai', 'chai123', 'Surachai Sirisart', 'ADMIN');
`UserID` int(3) unsigned zerofill NOT NULL auto_increment,
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL,
`Name` varchar(100) NOT NULL,
`Status` enum('ADMIN','USER') NOT NULL default 'USER',
PRIMARY KEY (`UserID`),
UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM AUTO_INCREMENT=3 ;
--
-- Dumping data for table `member`
--
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
01.<html>02.<head>03.<title>ThaiCreate.Com Tutorials</title>04.</head>05.<body>06.<form name="form1" method="post" action="check_login.php">07.  Login<br>08.  <table border="1" style="width: 300px">09.    <tbody>10.      <tr>11.        <td>  Username</td>12.        <td>13.          <input name="txtUsername" type="text" id="txtUsername">14.        </td>15.      </tr>16.      <tr>17.        <td>  Password</td>18.        <td><input name="txtPassword" type="password" id="txtPassword">19.        </td>20.      </tr>21.    </tbody>22.  </table>23.  <br>24.  <input type="submit" name="Submit" value="Login">25.</form>26.</body>27.</html>check_login.php เป็น Check Login
01.<?02.    session_start();03.    mysql_connect("localhost","root","root");04.    mysql_select_db("mydatabase");05.    $strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['txtUsername'])."'06.    and Password = '".trim($_POST['txtPassword'])."'";07.    $objQuery = mysql_query($strSQL);08.    $objResult = mysql_fetch_array($objQuery);09.    if(!$objResult)10.    {11.            echo "Username and Password Incorrect!";12.    }13.    else14.    {15.            $_SESSION["UserID"] = $objResult["UserID"];16.            $_SESSION["Status"] = $objResult["Status"];17. 18.            session_write_close();19.             20.            if($objResult["Status"] == "ADMIN")21.            {22.                header("location:admin_page.php");23.            }24.            else25.            {26.                header("location:user_page.php");27.            }28.    }29.    mysql_close();30.?>
ไฟล์นี้จะทำการตรวจสอบ Username และ Password และสถานะของสมาชิกว่าเป็น Admin หรือว่า User ถ้า Admin จะกระโดดไปหน้า admin_page.php และถ้าเป็น User จะกระโดดไปหน้า user_page.php
admin_page.php เป็นหน้าหลักของ Admin
01.<?02.    session_start();03.    if($_SESSION['UserID'] == "")04.    {05.        echo "Please Login!";06.        exit();07.    }08. 09.    if($_SESSION['Status'] != "ADMIN")10.    {11.        echo "This page for Admin only!";12.        exit();13.    }   14.     15.    mysql_connect("localhost","root","root");16.    mysql_select_db("mydatabase");17.    $strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";18.    $objQuery = mysql_query($strSQL);19.    $objResult = mysql_fetch_array($objQuery);20.?>21.<html>22.<head>23.<title>ThaiCreate.Com Tutorials</title>24.</head>25.<body>26.  Welcome to Admin Page! <br>27.  <table border="1" style="width: 300px">28.    <tbody>29.      <tr>30.        <td width="87">  Username</td>31.        <td width="197"><?=$objResult["Username"];?>32.        </td>33.      </tr>34.      <tr>35.        <td>  Name</td>36.        <td><?=$objResult["Name"];?></td>37.      </tr>38.    </tbody>39.  </table>40.  <br>41.  <a href="edit_profile.php">Edit</a><br>42.  <br>43.  <a href="logout.php">Logout</a>44.</body>45.</html>
หน้าหลักของ Admin จะมีการตรวจสอบ Session ว่าผ่านการ Login มาหรือไม่ และตรวจสอบสถานะด้วยว่าเป็น Admin หรือไม่
user_page.php เป็นหน้าหลักของ User
01.<?02.    session_start();03.    if($_SESSION['UserID'] == "")04.    {05.        echo "Please Login!";06.        exit();07.    }08. 09.    if($_SESSION['Status'] != "USER")10.    {11.        echo "This page for User only!";12.        exit();13.    }   14.     15.    mysql_connect("localhost","root","root");16.    mysql_select_db("mydatabase");17.    $strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";18.    $objQuery = mysql_query($strSQL);19.    $objResult = mysql_fetch_array($objQuery);20.?>21.<html>22.<head>23.<title>ThaiCreate.Com Tutorials</title>24.</head>25.<body>26.  Welcome to User Page! <br>27.  <table border="1" style="width: 300px">28.    <tbody>29.      <tr>30.        <td width="87">  Username</td>31.        <td width="197"><?=$objResult["Username"];?>32.        </td>33.      </tr>34.      <tr>35.        <td>  Name</td>36.        <td><?=$objResult["Name"];?></td>37.      </tr>38.    </tbody>39.  </table>40.  <br>41.  <a href="edit_profile.php">Edit</a><br>42.  <br>43.  <a href="logout.php">Logout</a>44.</body>45.</html>
หน้าหลักของ User จะมีการตรวจสอบ Session ว่าผ่านการ Login มาหรือไม่ และตรวจสอบสถานะด้วยว่าเป็น User หรือไม่
edit_profile.php เป็นหน้าสำหนับแก้ไขข้อมูชส่วนตัวของ User และ Admin
01.<?02.    session_start();03.    if($_SESSION['UserID'] == "")04.    {05.        echo "Please Login!";06.        exit();07.    }08.     09.    mysql_connect("localhost","root","root");10.    mysql_select_db("mydatabase");11.    $strSQL = "SELECT * FROM member WHERE UserID = '".$_SESSION['UserID']."' ";12.    $objQuery = mysql_query($strSQL);13.    $objResult = mysql_fetch_array($objQuery);14.?>15.<html>16.<head>17.<title>ThaiCreate.Com Tutorials</title>18.<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>19.<body>20.<form name="form1" method="post" action="save_profile.php">21.  Edit Profile! <br>22.  <table width="400" border="1" style="width: 400px">23.    <tbody>24.      <tr>25.        <td width="125">  UserID</td>26.        <td width="180">27.          <?=$objResult["UserID"];?>28.        </td>29.      </tr>30.      <tr>31.        <td>  Username</td>32.        <td>33.          <?=$objResult["Username"];?>34.        </td>35.      </tr>36.      <tr>37.        <td>  Password</td>38.        <td><input name="txtPassword" type="password" id="txtPassword" value="<?=$objResult["Password"];?>">39.        </td>40.      </tr>41.      <tr>42.        <td>  Confirm Password</td>43.        <td><input name="txtConPassword" type="password" id="txtConPassword" value="<?=$objResult["Password"];?>">44.        </td>45.      </tr>46.      <tr>47.        <td> Name</td>48.        <td><input name="txtName" type="text" id="txtName" value="<?=$objResult["Name"];?>"></td>49.      </tr>50.      <tr>51.        <td>  Status</td>52.        <td>53.          <?=$objResult["Status"];?>54.        </td>55.      </tr>56.    </tbody>57.  </table>58.  <br>59.  <input type="submit" name="Submit" value="Save">60.</form>61.</body>62.</html>
save_profile.php เป็นหน้าสำหนับบันทึกแก้ไขข้อมูลส่วนตัวของ User และ Admin
01.<?02.    session_start();03.    if($_SESSION['UserID'] == "")04.    {05.        echo "Please Login!";06.        exit();07.    }08.    mysql_connect("localhost","root","root");09.    mysql_select_db("mydatabase");10.     11.    if($_POST["txtPassword"] != $_POST["txtConPassword"])12.    {13.        echo "Password not Match!";14.        exit();15.    }16.    $strSQL = "UPDATE member SET Username = '".trim($_POST['txtPassword'])."'17.    ,Name = '".trim($_POST['txtName'])."' WHERE UserID = '".$_SESSION["UserID"]."' ";18.    $objQuery = mysql_query($strSQL);19.     20.    echo "Save Completed!<br>";       21.     22.    if($_SESSION["Status"] == "ADMIN")23.    {24.        echo "<br> Go to <a href='admin_page.php'>Admin page</a>";25.    }26.    else27.    {28.        echo "<br> Go to <a href='user_page.php'>User page</a>";29.    }30.     31.    mysql_close();32.?>
สำหรับหน้านี้เมื่อทีการบันทึกเสร็จสิ้นแล้ว โปรแกรมจะตรวจสอบว่าเป็น User หรือว่า Admin ถ้า Admin จะชี้ลิ้งค์ไปหน้า admin_page.php และถ้าเป็น User จะชี้ลิ้งค์ไปหน้า user_page.php
logout.php เป็นหน้า Logout หรือ Clear Session
1.<?2.    session_start();3.    session_destroy();4.    header("location:login.php");5.?>/* จากเว็บ http://www.thaicreate.com/community/php-mysql-login-form-check-username-password.html*/
ขอบคุณทุกเว็บ...