เกี่ยวกับ Admin คับ ผู้รู้ช่วยเข้ามาดูหน่อยคับ ไม่รู้จะแก้ยังไงแล้วว
นี่คือโค้ดทั้งหมดแล้วเหรอ มันขาดๆ หายๆ ไปบางส่วนนะ
ลองเช็คดูว่าตอนที่ทำการล็อคอินน่ะ user และ password ที่กรอกน่ะมันถูกส่งมา query หรือป่าว ลองเช็คตรงนี้ดูก่อน
ถ้ามีค่าถูกส่งมาครบนะ ลองดูคำสั่ง select ว่าพวกเงื่อนไข หรือมีอะไรหายไ หรือเกินมาป่าว
ลองเช็คพวกนี้ดูก่อนนะ
Date :
2012-06-29 21:00:19
By :
บังเอิญผ่านมาเห็น
Code (PHP)
<?
session_start();
if($_SESSION['member_id'] == "")
{
echo "กรุณาล็อกอินเข้าสู่ระบบ!";
exit();
}
if($_SESSION['Status'] != "Admin")
{
echo "ยินดีต้อนรับเข้าสู่หน้าผู้ดูแลระบบ!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("dormitory");
$strSQL = "SELECT * FROM member WHERE member_id = '".$_SESSION['member_id']."' ";
$objQuery = mysql_query($strSQL);
?>
$_SESSION['member_id'] ยังไม่มีค่าอะไรเลย ไปเช็คแล้วมันก็เป็นอย่างที่เห็นแหละครับ
โค๊ดเช็คล๊อกอินประมาณนี้ครับ
Code (PHP)
<?php
session_start(); // เปิดใช้ session
mysql_connect("localhost","root","root");
mysql_select_db("dormitory");
$member = mysql_real_escape_string($_POST['member_id']); // รับค่า user ที่จะเข้าระบบ
$pass = md5($_POST['member_password']); // รับค่า pass
$strSQL = "SELECT * FROM member WHERE member_id = '$member' and member_pass='$pass'"; // เอา user และ pass ไปเช็คในฐานข้อมูล
$objQuery = mysql_query($strSQL);
$row = mysql_num_rows($odjQuery); // เช็คว่ามีหรือไม่
if($row>0){ // ถ้ามี
$assoc = mysql_fetch_assoc($odjQuery); //เอาข้อมูลมาเก็บไว้ที่ $assoc
$_SESSION['member_id'] = $member; // เอาลง session
$_SESSION['Status'] = $assoc['Status'];
header("location:admin.php"); // แล้วไปที่หน้าที่กำหนดไว้
}else{
die("กรุณาล็อกอินเข้าสู่ระบบ!";);
}
?>
Date :
2012-06-29 21:08:16
By :
randOmizE
$_SESSION['member_id'] = $member; ตรงนี้หนูว่าน่าจะเปลี่ยนเป็น
$_SESSION['member_id'] = $assoc->id; นะคะ
Date :
2012-06-29 22:37:59
By :
Th@iDev
Code (PHP)
$_SESSION['member_id'] = $assoc->id; นะคะ
ใช้ $assoc->id ไม่ได้ครับ
ถ้าจะใช้ $assoc->id
ต้องเปลี่ยน $assoc = mysql_fetch_assoc($odjQuery); เป็น $assoc =mysql_fetch_object($odjQuery); ถึงจะใช้ $assoc->id ได้
กรณีนี้ จะ $assoc['member_id'] หรือ $member ก็มีค่าเท่ากัน
Date :
2012-06-29 23:06:45
By :
randOmizE
form หลัก
<form id="form1" name="form1" method="post" action="adming.php">
<p> </p>
<table width="263" border="0" align="center" bgcolor="#0066FF">
<tr>
<th scope="col"><font face="MS Sans Serif" size="2">Admin เข้าสู่ระบบ</th>
</tr>
</table>
<table width="263" border="0" align="center" bgcolor="#99FFFF">
<tr>
<th scope="row"><font face="MS Sans Serif" size="2">Username :</th>
<td><label>
<input type="text" name="member_id" id="member_id" />
</label></td>
</tr>
<tr>
<th scope="row"><font face="MS Sans Serif" size="2">Password :</th>
<td><label>
<input type="password" name="member_password" id="member_password" />
</label></td>
</tr>
<tr>
</tr>
</table>
<table width="263" border="0" align="center" bgcolor="#0099FF">
<tr>
<th scope="col"><label>
<input type="submit" name="Submit" id="Submit" value="Login" />
</label></th>
</tr>
</table>
</form>
adming.php
<?
session_start();
if($_SESSION['member_id']=="")
{
mysql_connect("localhost","root","root");
mysql_select_db("dormitory");
$strSQL = "SELECT * FROM member WHERE member_id = '".$_POST['member_id']."' ";
$objQuery = mysql_query($strSQL);
$check = mysql_num_rows($objQuery);
if($check !="0")
{
$_SESSION['Status'] = "Admin";
$_SESSION['member_id']=$_POST['member_id'];
}
}
else
{
if($_SESSION['Status'] != "Admin")
{
echo "คุณไม่มีสิทธิในการเข้าถึง";
exit();
}
else{
echo "ยินดีต้อนรับเข้าสู่หน้าผู้ดูแลระบบ!";
exit();
}
}
?>
ยังไม่ได้ลอง แต่คิดว่าน่าจะประมาณนี้นะครับ
Date :
2012-06-30 10:34:34
By :
jame3032002
แต่ของ Login ยังมีปัญหาอยู่เลยคับ
รายละเอียดในนี้คับ https://www.thaicreate.com/php/forum/080410.html
Date :
2012-06-30 11:32:54
By :
bankclup
ตั้ง สถานะ ขึ้นมาค่ะ ADMIN กับ USER แล้วใช้เงื่อนไขค่ะ
ในเว็บนี้มีสอนอยู่ค่ะ ลองหาดูนะคะ เราจำไม่ได้ว่าอยู่ตรงไหน
Date :
2012-06-30 17:13:15
By :
นู๋น้อย
ช่วยหน่อยนะคับ ไม่รุ้จะแก้ยังไงแล้ว
Date :
2012-07-01 17:44:07
By :
bankclup
Load balance : Server 00