|
|
|
ขอโค๊ดกำหนดสิทธิ์การเข้าระบบ/วิธีการตั้งค่าใช้สิทธิ์ตรงไหน/ตั้งค่าMYSQL ขอบคุณคับ ไม่ได้อันนี้ทำโปรเจ็กไม่ได้แน่ |
|
|
|
|
|
|
|
กำหนดสิทธิ์ของอะไรครับ ระบบ login ที่เขียนขึ้นเองหรอครับ
ตัวอย่าง มีหน้า member และ admin นะ
1. member ไม่สามารถเข้าใช้งานส่วนของ admin ได้
2. admin สามารถเข้าใช้งานทุกส่วนได้
โดยใช้ statusID เป็นตัวกำหนด เช่น 1=admin 2=member
login.php
Code (PHP)
$row=mysql_query("select * from tb_member where username='$username' && password='$password' ");
if($row[memberID]){
$_SESSION['sessionMemberid']=$row['memberID'];
$_SESSION['sessionUsername']=$row['username'];
$_SESSION['sessionStatus']=$row['statusID'];
echo'login สำเร็จ';exit();
}else{
echo'ไม่พบข้อมูล';exit();
}
หน้า admin
Code (PHP)
if(!isset($_SESSION['sessionStatus']) || $_SESSION['sessionStatus']!=1){
echo'คุณไม่มีสิทธิ์เข้าใช้งานส่วนนี้ค่ะ';exit();
}
//ที่เหลือก็เป็นโค้ดระบบต่างๆ
|
|
|
|
|
Date :
2013-12-14 22:23:36 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. member ไม่สามารถเข้าใช้งานส่วนของ admin ได้
2. admin สามารถเข้าใช้งานทุกส่วนได้
ใช่เลยคับผม
|
|
|
|
|
Date :
2013-12-14 23:58:01 |
By :
pats2532 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from_login.php
<form action="check.php" method="post" />
<table width="300" border="0" cellspacing="5" cellpadding="0">
<tr>
<td>Username : </td>
<td><input name="username_log" type="text" id="username_log" /></td>
</tr>
<tr>
<td>Password: </td>
<td><input name="password_log" type="password" id="password_log" /></td>
</tr>
<tr>
<td>Login ตลอดไป : </td>
<td><input name="chk" type="checkbox" id="chk" value="on" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Login" /></td>
</tr>
</table>
</form>
check.php
<?
ob_start();
session_start();
$host = "localhost"; //ชื่อโฮส
$db_username = "root"; //ชื่อผู้ใช้
$db_password = "****"; //รหัสผ่าน
$dbname = "admin"; //ชื่อฐานข้อมูล
//เริ่มติดต่อฐานข้อมูล
mysql_connect($host, $db_username, $db_password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select username, password from admin where username='$username_log' and password='$password_log' "; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$dbquery = mysql_db_query($dbname, $sql);
?>
|
|
|
|
|
Date :
2013-12-15 00:03:40 |
By :
pats2532 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ดที่ผมยกตัวอย่างให้ไป ก็เอาไปปรับใส่ไฟล์ check.php ได้เลยนะครับ
Code (PHP)
ob_start();
session_start();
$host = "localhost"; //ชื่อโฮส
$db_username = "root"; //ชื่อผู้ใช้
$db_password = "****"; //รหัสผ่าน
$dbname = "admin"; //ชื่อฐานข้อมูล
//เริ่มติดต่อฐานข้อมูล
mysql_connect($host, $db_username, $db_password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from member where username='$username_log' and password='$password_log' "; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$dbquery = mysql_db_query($dbname, $sql);
$row=mysql_fetch_assoc($dbquery);
//ตรวจสอบ
if($$row['memberID']){
$_SESSION['sessionMemberid']=$row['memberID'];
$_SESSION['sessionUsername']=$row['username'];
$_SESSION['sessionStatus']=$row['statusID'];
echo'สำเร็จ';exit();
}else{
echo'ไม่พบข้อมูล';exit();
}
|
|
|
|
|
Date :
2013-12-15 11:17:10 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนดูอันนี้ให้ที่นะคับ
Code (PHP)
//****************LOG*****************************************/
function get_ip(){
$ip_address=$_SERVER['REMOTE_ADDR'];
if ($_SERVER['HTTP_X_FORWARDED_FOR']==NULL)
{
$ip_address=$_SERVER['REMOTE_ADDR'];
} else
{
$ip_address=$ip_address."|".$_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $ip_address;
}
$num_rows = mysql_num_rows($dbquery);
if($num_rows == 1){
if($chk == "on") { // ถ้าติ๊กถูก Login ตลอดไป ให้ทำการสร้าง cookie
setcookie("username_log",$username_log,time()+3600*24*356);
setcookie("password_log",$password_log,time()+3600*24*356);
header("location:http://www.xxx.com");
} else
{
header("location:http://www.xxxx.com");
}
$login_sess_name = $username_log;
$login_name = $username_log;
$login_status = "admin";
$login_time =date('Y-m-d H:s:i');
$login_ip = get_ip();
$Sql = mysql_query("insert into admin_login(login_sess_name,login_name,login_status,login_time,login_ip) values ('$login_sess_name','$login_name','$login_status','$login_time','$login_ip')");
if($Sql)
{
echo '<script>alert("บันทึก log กรณี ล็อกอินสำเร็จ");</script>';
}
}else
{
$login_sess_name = $username_log;
$login_name = $username_log;
$login_status = "heacker";
$login_time =date('Y-m-d H:s:i');
$login_ip = get_ip();
$fail_login_time = date('Y-m-d H:s:i');
$Sql = mysql_query("insert into admin_login(login_sess_name,login_name,login_status,login_time,login_ip,fail_login_time) values ('$login_sess_name','$login_name','$login_status','$login_time','$login_ip','$fail_login_time')");
if($Sql)
{
echo '<script>alert("บันทึก log กรณี ล็อกอินไม่สำเร็จ");</script>';
header("location: form_login.php"); //ไม่ถูกต้องให้กับไปหน้าเดิม
}
}
|
|
|
|
|
Date :
2013-12-15 14:08:42 |
By :
pats2532 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
ob_start();
session_start();
$host = "localhost"; //ชื่อโฮส
$db_username = "root"; //ชื่อผู้ใช้
$db_password = "pg051719"; //รหัสผ่าน
$dbname = "admin"; //ชื่อฐานข้อมูล
//เริ่มติดต่อฐานข้อมูล
$conn=mysql_connect($host, $db_username, $db_password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname,$conn) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES UTF8");
//รับค่ามาจาก from แบบ POST
$username_log=trim($_POST['username_log']);
$password_log=trim($_POST['password_log']);
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from member where username='$username_log' and password='$password_log' "; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$query = mysql_query($sql) or die(mysql_error()); // ถ้า Error เอามาดูนะ
$row=mysql_fetch_assoc($query);
//ตรวจสอบ
//เปลี่ยน memberID ตรงกับที่อยู่ในฐานข้อมูลด้วยนะ
if($row['memberID']){
$_SESSION['sessionMemberid']=$row['memberID'];
$_SESSION['sessionUsername']=$row['username'];
$_SESSION['sessionStatus']=$row['statusID'];
echo'สำเร็จ';exit();
}else{
echo'ไม่พบข้อมูล';exit();
}
ผมเขียนให้ใหม่หมดเลยนะ ถ้า error เช็คที่ฐานข้อมูลด้วยนะ กำหนดชื่อ ฟิลด์ให้ตรง
|
|
|
|
|
Date :
2013-12-15 19:20:58 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
check.php
Code (PHP)
<?php
ob_start();
session_start();
$host = "localhost"; //ชื่อโฮส
$db_username = "root"; //ชื่อผู้ใช้
$db_password = "pg051719"; //รหัสผ่าน
$dbname = "admin"; //ชื่อฐานข้อมูล
//เริ่มติดต่อฐานข้อมูล
mysql_connect($host, $db_username, $db_password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from member where username='$username_log' and password='$password_log' "; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$dbquery = mysql_db_query($dbname, $sql);
$row=mysql_fetch_assoc($dbquery);
//ตรวจสอบ
if($$row['memberID']){
$_SESSION['sessionMemberid']=$row['memberID'];
$_SESSION['sessionUsername']=$row['username'];
$_SESSION['sessionStatus']=$row['statusID'];
echo'สำเร็จ';exit();
}else{
echo'ไม่พบข้อมูล';exit();
}
?>
ผมตั้งถูกไมคับ
|
|
|
|
|
Date :
2013-12-17 23:23:20 |
By :
pats2532 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
ob_start();
session_start();
$host = "localhost"; //ชื่อโฮส
$db_username = "root"; //ชื่อผู้ใช้
$db_password = "pg051719"; //รหัสผ่าน
$dbname = "admin"; //ชื่อฐานข้อมูล
//เริ่มติดต่อฐานข้อมูล
$conn=mysql_connect($host, $db_username, $db_password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname,$conn) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES UTF8");
//รับค่ามาจาก from แบบ POST
$username_log=trim($_POST['username_log']);
$password_log=trim($_POST['password_log']);
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from member where username='$username_log' and password='$password_log' "; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$query = mysql_query($sql) or die(mysql_error()); // ถ้า Error เอามาดูนะ
$row=mysql_fetch_assoc($query);
//ตรวจสอบ
//เปลี่ยน memberID ตรงกับที่อยู่ในฐานข้อมูลด้วยนะ <<<ถามตรงนี้หน่อยคับ คื่อต้องไป 3 ชื่อนี้ในฐานข้อมูลประคับ
if($row['memberID']){
$_SESSION['sessionMemberid']=$row['memberID'];
$_SESSION['sessionUsername']=$row['username'];
$_SESSION['sessionStatus']=$row['statusID'];
echo'สำเร็จ';exit();
}else{
echo'ไม่พบข้อมูล';exit();
}
|
|
|
|
|
Date :
2013-12-18 22:56:06 |
By :
pats2532 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|