Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ช่วยดู code login ให้หน่อยครับพี่ๆ คือจะอยากจะกำหนดสิทธิ์เป็นแบบ level ครับ



 

ช่วยดู code login ให้หน่อยครับพี่ๆ คือจะอยากจะกำหนดสิทธิ์เป็นแบบ level ครับ

 



Topic : 128028



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์




คือผมอยากจะกำหนดสิทธิ์การใช้งานแบบแยกแต่ละแผนกครับแต่ไมรู้จะเริ่มยังไงครับ
ที่คิดไว้จะกำหนดไว้ 5 level ครับ
page_admin.php
page_office1.php
page_office2.php
page_office3.php
page_Boss.php



Code
CREATE TABLE `member` (
  `m_id` int(3) NOT NULL auto_increment,
  `m_username` varchar(50) NOT NULL,
  `m_password` varchar(50) NOT NULL,
  `m_name` varchar(50) NOT NULL,
  `m_level` int(11) NOT NULL,
  `datesave` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`m_id`),
  UNIQUE KEY `Username` (`m_username`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

-- 
-- dump ตาราง `member`
-- 

INSERT INTO `member` VALUES (5, 'ADMIN', '1234', 'ADMIN ', 1, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (2, 'user1', '1234', 'employee1', 2, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (3, 'user2', '1234', 'employee2', 3, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (4, 'user3', '1234', 'employee3', 4, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (4, 'Boss', '1234', 'Boss', 5, '2017-06-19 09:44:08');


หน้า checkmember.php

Code
<?PHP
if($_POST){

require '../config/mysql.php';
require '../config/connect.php';
$mysql=new MySQL_Connection("$host","$user","$pw","$dbname");
$mysql->charset = 'utf8';

$user = $mysql->queryResult(
    "
    SELECT *  FROM `member`
    WHERE `m_username` = %s[username]  and  `m_password` = %s[password] 
    ",
    array(
        'username' => $_POST['username'],	// แทนที่ %s[username]
        'password'  =>$_POST['password'],	// แทนที่ %s[password]
               
    )
);

$level=$member->numRows;
$rs = $member->fetch();
if($m_level==1){
		$_SESSION['m_id'] =$rs['m_id'];
		$_SESSION['m_username'] =$rs['m_username'];
		$_SESSION['login'] = "true";
			echo("<script>");
            echo("window.location='page_admin.php?menu=add';");
            echo("</script>"); 

}else{	
	
?>
 
  <div class="alert alert-danger">
    <a class="close" data-dismiss="alert" aria-hidden="true">×</a>
    <strong>คำเตือน!</strong>ชื่อ และ รหัสผ่าน  ของคุณไม่ถูกต้อง.
</div>
            <?php
}

$mysql->close();


	?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-06-19 11:06:32 By : Lun2560 View : 1598 Reply : 16
 

 

No. 1



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ข้อแนะนำเบื้องต้น

ฐานข้อมูลที่ต้องมี
- employee สมาชิก
id , name


- permission สิทธิการใช้งาน CRUD
id , name , timestamp


- role หน้าเพจ
id , name , timestamp


- employee_permission
employee_id,permission_id,timestamp


- employee_role
employee_id,role_id,timestamp


โดยรูปแบบการ Relationship (Many To Many)
ปล.แต่ละ employee จะมีความยืดหยุ่นในการ Customize มากขึ้น

แต่ถ้าในลักษณะเบื้องต้นแล้ว : เบื้องต้นเมื่อ login ผ่านให้เก็บ session level ของแต่ละตัวได้เลยครับ และเมื่อเข้าเพจแต่ละหน้าให้ทำการเช็ค session level อีกทีว่าแต่ละ level ความสำคัญ สามารถใช้หน้านี้ได้หรือไม่








ประวัติการแก้ไข
2017-06-19 11:56:08
2017-06-19 11:59:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-19 11:54:55 By : dudesaranyu
 


 

No. 2



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


จะต้องเขียนโค้ดหน้าเช็คยังไงหรือครับผมพึ่งเริ่มหัดเขียนครับจะทำโปรเจคส่งอาจารย์
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-19 13:12:08 By : Lun2560
 

 

No. 3



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


checkmember.php
Code (PHP)
$_SESSION['m_id'] =$rs['m_id'];
$_SESSION['m_username'] =$rs['m_username'];
$_SESSION['m_level']=$rs['m_level'];
$_SESSION['login'] = "true";


On Page
Code (PHP)
<?php
	session_start();
	if($_SESSION['m_level'] != '1') // conditions
	{
		header('Location: ' . $_SERVER['HTTP_REFERER']); // or URI
	}else{
		// description
	}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-19 13:24:11 By : dudesaranyu
 


 

No. 4



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทษครับพี่พอจะมีตัวอย่างไหมครับจ้องแก้ตรงบรรทัดที่พี่บอกใช่ไหมครับ ตอนนี้เหมือนผมงมเข็มในทะเลสาบเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-19 17:56:29 By : Lun2560
 


 

No. 5



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : Lun2560 เมื่อวันที่ 2017-06-19 17:56:29
รายละเอียดของการตอบ ::
ใช่ครับ ตามรูปแบบตัวอย่างครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-19 18:10:06 By : dudesaranyu
 


 

No. 6



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่ได้ครับพี่ error ตั้งแต่หน้าล็อคอินครับหรือผมพิมผิดพื้นฐานยิ่งไม่มีด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-20 00:14:08 By : Lun2560
 


 

No. 7



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : Lun2560 เมื่อวันที่ 2017-06-20 00:14:08
รายละเอียดของการตอบ ::
ขอดูหน้า code login ปัจจุบันครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-20 11:00:52 By : dudesaranyu
 


 

No. 8



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


หน้า login.php
Code
<li class="sidebar-search">
<div class="input-group custom-search-form">
<form role="form" action="?menu=home#checkmember" method="post" name="login">
<div class="form-group input-group">
<span class="input-group-addon"><i class="fa fa-user"></i></span>
<input type="text" class="form-control" name="username" placeholder="Username" required>
</div>

<div class="form-group input-group">
<span class="input-group-addon"><i class="fa fa-lock"></i></span>
<input type="password" class="form-control" name="password" placeholder="Password" required>
</div>

<p><button type="submit" class="btn btn-success btn-sm">Log In</button></p>

</form>

</div>
</li>

<a id="checkmember"></a>
<?php include 'checkmember.php';?>

<div id="page-wrapper">
<?php include $src_page; ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-20 13:36:13 By : Lun2560
 


 

No. 9



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : Lun2560 เมื่อวันที่ 2017-06-20 13:36:13
รายละเอียดของการตอบ ::
checkmember.php หน้านี้ครับ ขอดู code ปัจจุบัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-20 14:13:17 By : dudesaranyu
 


 

No. 10



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


Data base

head]Code[/head]
CREATE TABLE `member` (
  `m_id` int(3) NOT NULL auto_increment,
  `m_username` varchar(50) NOT NULL,
  `m_password` varchar(50) NOT NULL,
  `m_name` varchar(50) NOT NULL,
  `m_level` int(11) NOT NULL,
  `datesave` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`m_id`),
  UNIQUE KEY `Username` (`m_username`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

-- 
-- dump ตาราง `member`
-- 

INSERT INTO `member` VALUES (5, 'ADMIN', '1234', 'ADMIN ', 1, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (2, 'user1', '1234', 'employee1', 2, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (3, 'user2', '1234', 'employee2', 3, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (4, 'user3', '1234', 'employee3', 4, '2017-06-19 09:44:08');
INSERT INTO `member` VALUES (4, 'Boss', '1234', 'Boss', 5, '2017-06-19 09:44:08');


ตอนนี้ผมกลับมาใช้โค้เดิมครับพี่

checkmember.php

Code
<?PHP
if($_POST){

require '../config/mysql.php';
require '../config/connect.php';
$mysql=new MySQL_Connection("$host","$user","$pw","$dbname");
$mysql->charset = 'utf8';

$user = $mysql->queryResult(
    "
    SELECT *  FROM `member`
    WHERE `m_username` = %s[username]  and  `m_password` = %s[password] 
    ",
    array(
        'username' => $_POST['username'],	// แทนที่ %s[username]
        'password'  =>$_POST['password'],	// แทนที่ %s[password]
               
    )
);

$m_level=$member->numRows;
$rs = $member->fetch();
if($m_level==1){
		$_SESSION['m_id'] =$rs['m_id'];
		$_SESSION['m_username'] =$rs['m_username'];
		$_SESSION['login'] = "true";
			echo("<script>");
            echo("window.location='page_admin.php?menu=add';");
            echo("</script>"); 

}else{	
	
?>
 
  <div class="alert alert-danger">
    <a class="close" data-dismiss="alert" aria-hidden="true">×</a>
    <strong>คำเตือน!</strong>ชื่อ และ รหัสผ่าน  ของคุณไม่ถูกต้อง.
</div>
            <?php
}

$mysql->close();


	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-20 23:39:08 By : Lun2560
 


 

No. 11



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



สถานะออฟไลน์


ที่ error เพราะ $member ควรเป็น $user หรือเปล่า
น่าจะเรียกใช้ตัวแปรผิด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-21 07:26:56 By : Chaidhanan
 


 

No. 12



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


เปลี่ยนค่าตัวแปร ตามคอมเม้นของคุณ Chaidchanan ครับ
- หน้า checkmember.php บรรทัดที่ 09 เปลี่ยนจาก $member เป็น $user
- ประยุกต์ใช้ session check lavel ตาม No.3
ตามนั้นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-21 08:20:22 By : dudesaranyu
 


 

No. 13



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทษด้วยครับพี่ๆ พอดีผมติดเรียนเลิกต้องรีบไปทำงานครับ ไม่ได้เข้ามาดูเลยเบื้องต้นผมลงดูเวลาล็อคอินยังไปหน้าเดิมอยู่ครับ
รบกวนขอตัวอย่างหน่อยครับผมผิดตรงไหน
ปล.พื้นฐานไม่มีเลยครับจนปัญญาครับ

หน้า login.php

Code
<?PHP
session_start();
?>
<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">


</head>

<body>

<li class="sidebar-search">
<div class="input-group custom-search-form">
<form role="form" action="?menu=home#checkmember" method="post" name="login">
<div class="form-group input-group">
<span class="input-group-addon"><i class="fa fa-user"></i>
</span>
<input type="text" class="form-control" name="username" placeholder="Username" required>
</div>

<div class="form-group input-group">
<span class="input-group-addon"><i class="fa fa-lock"></i>
</span>
<input type="password" class="form-control" name="password" placeholder="Password" required>
</div>
<p>
<button type="submit" class="btn btn-success btn-sm">Log In</button>
</p>

</form>
</div>
</li>
<a id="checkmember"></a>
<?php

include 'checkmember.php';
?>
<li class="btn-danger divider" style="height:3px;"></li>

</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side -->
</nav>

<div id="page-wrapper">

<?php
include $src_page;
?>




</div></div> </div>
<!-- /.panel .chat-panel -->
</div>
<!-- /.col-lg-4 -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->

</div>
<!-- /#wrapper -->



</body>

</html>



หน้า checkmember.php


Code
<?PHP
if($_POST){

require '../config/mysql.php';
require '../config/connect.php';
$mysql=new MySQL_Connection("$host","$user","$pw","$dbname");
$mysql->charset = 'utf8';

$user = $mysql->queryResult(
"
SELECT * FROM `member`
WHERE `m_username` = %s[username] and `m_password` = %s[password]
",
array(
'username' => $_POST['username'], // แทนที่ %s[username]
'password' =>$_POST['password'], // แทนที่ %s[password]

)
);

$m_level=$user->numRows;
$rs = $user->fetch();
if($m_level==1){
$_SESSION['m_id'] =$rs['m_id'];
$_SESSION['m_username'] =$rs['m_username'];
$_SESSION['login'] = "true";
echo("<script>");
echo("window.location='page_admin.php?menu=add';");
echo("</script>");

}else{($m_level==2){
$_SESSION['m_id'] =$rs['m_id'];
$_SESSION['m_username'] =$rs['m_username'];
$_SESSION['login'] = "true";
echo("<script>");
echo("window.location='page_office1.php?menu=add';");
echo("</script>");

?>

<div class="alert alert-danger">
<a class="close" data-dismiss="alert" aria-hidden="true">×</a>
<strong>คำเตือน!</strong>ชื่อ และ รหัสผ่าน ของคุณไม่ถูกต้อง.
</div>
<?php
}

$mysql->close();


?>


หน้า chk_session.php

Code
<?php
if (!isset($_SESSION['login'])) {
echo("<script>");
echo("window.location='out.php';");
echo("</script>");
exit;
}

?>



ประวัติการแก้ไข
2017-06-23 00:22:21
2017-06-26 15:41:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-23 00:19:26 By : Lun2560
 


 

No. 14



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



สถานะออฟไลน์


ผมว่า จขกท ต้องเรียนรู้เรื่องการทำงานของ โปรแกรมฝั่ง server และโปรแกรมฝั่ง client ให้เข้าใจก่อนนะครับ

และจากตรงนี้สีแดง
<form role="form" action="?menu=home#checkmember" method="post" name="login">
<div class="form-group input-group">

ไม่ควรอ้างอิงไฟล์เดิม เพราะขยะจะเยอะเกินไป เพิ่งหัดเขียนใหม่ๆ อาจหลงทำให้ตัวแปรฟังก์ขั่นมันตีกัน
แยกมันออกจากกันจะตรวจสอบข้อผิดผลาดได้ง่ายกว่า
เอาแค่นี้พอดีกว่าไหม

<form role="form" action="checkmember.php" method="post" name="login">
<div class="form-group input-group">

พยายามเขียนโปรแกรมแบบแยกเฉพาะงานให้ชำนาญก่อน อย่าเพิ่งรวมทุกอย่างไว้ในขั้นตอนเดียว
แก้อันนี้ทำให้ผิดอีกอันแก้จนไม่รู้ว่ามันผิดตรงไหนแน่ 5555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-23 09:56:00 By : Chaidhanan
 


 

No. 15



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-06-23 09:56:00
รายละเอียดของการตอบ ::
คือตอนนี้ทุกหน้าผมทำเสร็จหมดแล้วครับพร้อมใช้งาน ผมเหลือแค่แยกสิทธิ์การใช้งานที่ผมยังทำไม่ได้ครับการครับซึ่งเบื้องต้นผมลองแก้โค้ดแล้วยังไปหน้าเดิมยุคือไม่เข้าเงื่อนไข ถ้าให้ผมแก้อย่างที่พี่บอกผมคงต้องแก้ทุกหน้าครับ ชึ่งที่ผมต้องการจริงคือเงื่อนไขที่ ล็อคอินเข้าระบบ
ถ้าเป็นไปได้รบกวนขอโค้ดแบบสมบูรณ์ เพราะผมไม่รู้ผมอาจพิมพ์ตกหล่นไม่ครบ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-26 15:37:46 By : Lun2560
 


 

No. 16



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



สถานะออฟไลน์


if($_POST){

ลองเปลี่ยนเป็น

if(isset($_POST['chkLogin'])){

โดยเพิ่ม <input type=hidden name=chkLogin value=1 > ไว้ใน form ด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-06-26 16:57:33 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดู code login ให้หน่อยครับพี่ๆ คือจะอยากจะกำหนดสิทธิ์เป็นแบบ level ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่