ต้องการจำกัดสิทธิ์ผู้ใช้งานในแต่ละเลเวลต้องเขียนcodeยังไงค่ะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

pid
PHP Newbie
PHP Newbie
Posts: 4
Joined: 15/11/2008 8:34 pm

ต้องการจำกัดสิทธิ์ผู้ใช้งานในแต่ละเลเวลต้องเขียนcodeยังไงค่ะ

Post by pid » 13/12/2008 11:11 pm

ต้องการจำกัดสิทธิ์การใช้งานของผู้ใช้งานแต่ละคนอ่ะค่ะ
มีทั้งหมด4เลเวล คือ 1= นักศึกษา , 2= ตัวแทนกลุ่มกิจกรรม , 3=ฝ่ายกิจการนักศึกษา ,4 = admin
มี code ที่เขียนแล้วให้ดูค่ะ

หน้า login.php

<?php
include("header.inc")
?>
<html>
<head>
<title>ระบบการจัดการข้อมูลกิจกรรมเสริมหลักสูตรนักศึกษา</title>
<META http-equiv="Content-Type" CONTENT="text=/html;charset=TIS-620">
</head>
<body>
<form method="POST" action="s_login.php">
<table width="172" border="0">
<tr>
<td><img src="image/login.gif" width="165" height="45"></td>
</tr>
<tr><td><font size="3">สำหรับนักศึกษา</font></td>
</tr>
<tr>
<td>
<font size="3" color="#0066CC">User Login</font> <br>
<input type="text" name="name" size="20" >
</td>
</tr>
<tr>
<td><font size="3" color="#0066CC">Password</font><br>
<input type="password" name="pass" size="20">
</td>
</tr>
<tr>
<td>
<p><input type="submit" name="submit" value="Go Inside"></p>
</td>
</tr>
</table>
</form>
<form method="POST" action="s_login.php">
<table width="172" border="0">
<tr><td><font size="3">สำหรับบุคลากร</font></td>
</tr>
<tr>
<td>
<font size="3" color="#0066CC">User Login</font> <br>
<input type="text" name="name" size="20" >
</td>
</tr>
<tr>
<td><font size="3" color="#0066CC">Password</font><br>
<input type="password" name="pass" size="20">
</td>
</tr>
<tr>
<td>
<p><input type="submit" name="submit" value="Go Inside"></p>
</td>
</tr>
</table>
</form>
</body>
</html>
</body>
</html>
/////////////////////////////////////////////////////////////////////////////////

หน้า s_login

<?php
session_start();
include("header.inc");
require('conn_mysql.php');

if(empty($_POST['name']) || empty($_POST['pass'])) {
header("location: login1.php");
exit;
}else {
$sql = "select * from student where Stud_id = '".$name."'";
$sql2 = "select * from supervisor where Sup_id = '".$name."'";
$rs = mysql_query($sql);
$rs2 = mysql_query($rs2);
if($row = mysql_fetch_array($rs)){
$name = $_POST['name'];
$pass = $_POST['pass'];
if($pass == $_POST["pass"]){
header("location: home.php");
$_SESSION["name"] = $name;
$_SESSION["pass"] = $pass;
$_SESSION["group"] = $group;
if()
$_SESSION["usertype"] = "student";

}else{
header("location: login1.php?msg=password not match");
}
}else{
if($ow = mysql_fetch_array($rs2)){
$name = $_POST['name'];
$pass = $_POST['pass'];
if($pass == $_POST["pass"]){
header("location: home.php");
$_SESSION["name"] = $name;
$_SESSION["pass"] = $pass;
$_SESSION["usertype"] = "supervisor";
}else{
header("location: login1.php?msg=password not match");
}
}else{
header("location: login1.php");
}
}
}
?>

///////////////////////////////////////////////////////////////////////////////

หน้า chklogin.php

<?
session_start();
include("header.inc");
header("Cache-control: private");
if(!isset($_SESSION["name"])) {
header("location: login1.php");
}
?>
//////////////////////////////////////////////////////////////////////////////

ขอบคุณค่ะ

User avatar
Royter
PHP Jr. Member
PHP Jr. Member
Posts: 19
Joined: 01/01/1970 7:00 am
Location: http://www.kzshare.com
Contact:

Re: ต้องการจำกัดสิทธิ์ผู้ใช้งานในแต่ละเลเวลต้องเขียนcodeยังไงค่ะ

Post by Royter » 17/12/2008 7:10 pm

ลองเปลี่ยนเป็นแนวนี้ฮะ


จำกัดระดับ user ก่อน แล้วใช้ cookie ช่วย

เช่นนักศึกษา ใช้ คุกกี้แบบนี้

setcookie( "level" , "1",time()+60*60*24*30);


เวลาจำกัดสิทธ์ ให้เขียนแบบนี้ที่หัวเวป

<?php ob_start();extract($_COOKIE); extract($_SERVER);

if($level != 1){
header("Location: index.php"); // ถ้าไม่ใช่นักศึกษา จะเด้งไปหน้าอินเดกซ์
}else{
xxxxxxxxxxxxxxxxx /// อยากแสดงไรก็ทำไป

}

?>

Post Reply

Return to “Programming - PHP”

Users browsing this forum: No registered users and 11 guests