|
|
|
login แบบแบ่งระดับผู้ใช้ สัก 5 ระดับ ไม่ทราบว่าควรเพิ่ม Code ตรงไหนอิกคับ ช่วยที |
|
|
|
|
|
|
|
เพิ่มตรงดาต้าเบส สิครับ กำหนดระดับไว้เลย เช่น
พอล็อกอินเข้าระบบได้ ก็ให้โปรแกรมตรวจสอบ ดาต้าเบสอีกรอบว่า ชื่อนี้รหัสผ่านนี้ ระดับไหน มีสิทธิ์ แค่ไหนทำอะไรได้บ้าง
|
|
|
|
|
Date :
2009-05-09 06:47:04 |
By :
mrAAA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผม highlight สีไม่ได้อ่ะคับ
ยังไงลองดูโคดละเอียดๆ ทีละบรรทัดนะคับว่าผมแก้อะไรตรงไหนไป ผม comment code เก่าคุณไว้คับไม่ได้ลบออก
Code (PHP)
<?php
$result = mysql_query("select user,pwd , usertype from member where user='$u_id' and pwd='$p_id'") ;
$num = mysql_num_rows($result) ;
if($num<=0) {
echo "<br><br><center><font size='3' face='MS Sans Serif' color='#FF0000'><b>รหัสผ่านไม่ถูกต้องครับ...!!!</b></font></center>" ;
print "<meta http-equiv=refresh content=2;URL=member.php>";
exit() ;
}
else {
$dbarr = mysql_fetch_array($result) ;
/** ผมว่า if นี้ไม่ต้องใช้หรอกคับ เพราะคุณใส่ if นี้ไว้ที่ sql แล้ว ถ้า ไม่ตรงตามเงื่อนไขนี้ $num จะเท่ากับ 0 แล้วจะเข้า case แรกแทนคับ
if($u_id!=$dbarr['user'] and $p_id!=$dbarr['pwd']) {
echo "รหัสผ่านไม่ถูกต้อง" ;
exit() ;
}
else {
$login_true = $u_id ;
session_register("login_true") ;
*/
switch($dbarr['usertype']){
case type1: //do something
break;
case type2: //do something
break;
case type3: //do something
break;
case type4: //do something
break;
case type5: //do something
break;
}
$login_true = $dbarr;
session_register("login_true") ;
echo "<meta http-equiv='refresh' content='0 ;url=home.php'>" ;
exit() ;
/*} */
}
}
?>
|
|
|
|
|
Date :
2009-05-09 07:07:11 |
By :
nut_t02 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ คือผมอยากให้มันไปหน้าอื่นๆ แยกระดับด้วยครับ
ผมกำหนดให้ระดับเป็น 1-5 ครับเรียกจากฐานข้อมูลชื่อ level ครับ
มีหน้า home1.php - home5.php แยกระดับผู้ใช้งาน
ที่หน้าโฮมจะรับค่าแบบนี้ครับ
<?
session_start() ;
if(!session_is_registered("login_true")) {
echo "<meta http-equiv='refresh' content='0;url=member.php'>" ;
exit() ;
}
?>
มันจะโชว์ข้อมูลรายละเอียดของผู้ที่เข้าใช้ทั้งหมดว่าอยู่ในระดับไหน
|
|
|
|
|
Date :
2009-05-09 07:31:53 |
By :
mekabizs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำยังไงหรอครับ ผมใส่แบบนี้แล้วมัน ล๊อกอินเข้าหน้า memberpage.php อย่างเดียว
Code (PHP)
<?php
session_start() ;
$user_login = $_POST['user_login'];
$pwd_login = $_POST['pwd_login'];
$member_id = $_GET['member_id'];
$usertype = $_GET['usertype'];
if(isset($user_login) and isset($pwd_login)) {
include("../connect.inc.php") ;
?>
<html>
<head>
<title>:: ผลการเข้าสู่ระบบ ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF">
<?php
$result = mysql_query("select username,password,usertype from member where username='$user_login' and password='$pwd_login'") ;
$num = mysql_num_rows($result) ;
if($num<=0) {
echo "<br><br><center><font size='3' face='MS Sans Serif' color='#FF0000'><b>รหัสผ่านไม่ถูกต้องครับ...!!!</b></font></center>" ;
print "<meta http-equiv=refresh content=2;URL=http://marioradio.com/mem-login.php>";
exit() ;
}
else {
$dbarr = mysql_fetch_array($result) ;
/** ผมว่า if นี้ไม่ต้องใช้หรอกคับ เพราะคุณใส่ if นี้ไว้ที่ sql แล้ว ถ้า ไม่ตรงตามเงื่อนไขนี้ $num จะเท่ากับ 0 แล้วจะเข้า case แรกแทนคับ
if($u_id!=$dbarr['user'] and $p_id!=$dbarr['pwd']) {
echo "รหัสผ่านไม่ถูกต้อง" ;
exit() ;
}
else {
$login_true = $u_id ;
session_register("login_true") ;
*/
switch($dbarr['usertype']){
case type1: echo "<meta http-equiv='refresh' content='0 ;url=http://marioradio.com/memberpage.php'>" ;
break;
case type2: echo "<meta http-equiv='refresh' content='0 ;url=http://marioradio.com/editor.php'>" ;
break;
case type3: echo "<meta http-equiv='refresh' content='0 ;url=http://marioradio.com/memnewspage.php'>" ;
break;
case type4: //do something
break;
case type5: //do something
break;
}
$_SESSION['login_true'] = $user_login;
echo "<meta http-equiv='refresh' content='0 ;url=http://marioradio.com/memberpage.php'>" ;
exit() ;
/*} */
}
}
?>
</body>
</html>
|
|
|
|
|
Date :
2011-04-28 10:50:56 |
By :
วิวโย่ว |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|