|
|
|
จะเช็ค password ยังไงค่ะ ถ้าจะแทรกเพิ่มเติมแบบว่า ถ้าเป็น username กับ password ที่เรากำหนด |
|
|
|
|
|
|
|
ก็เห็นทำไว้แล้วนิครับ ต้องการไรหรอ ?????
Code (PHP)
if(validate_user($user,$pass)){
$_SESSION["valid_user"] = $user;
echo "<h2>ยินดีต้อนรับคุณ $user</h2>";
echo "ขณะนี้คุณได้เข้าสู่ระบบแล้ว<br>";
echo '<a href="search_by_graphic.php"> หน้าการค้นหาแบบกราฟิกส์</a><br>';
echo '<a href="logout.php"> ออกจากระบบ</a>';
echo '<a href="pcu.php"> go to pcu.php</a><br>'; // ก็เพิ่มลิงค์ไปสิครับ
// echo '<meta http-equiv="refresh" content="2;url=pcu.php ">'; // หรือถ้าต้องการลิงค์ไปหน้า puc แบบออโต้ก็ใช้ meta refresh
|
|
|
|
|
Date :
2009-11-23 00:52:37 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องการว่า ถ้าเป็น username และ password ของ admin อะค่ะ จะให้เข้าไปยังหน้าที่คนอื่นไม่สามารถเข้าได้
ก็ตั้งใจว่าพอ log in เข้ามาก็มีลิงค์ให้กดไปอะค่ะ แต่ไม่รู้ว่าต้องไปเพิ่มโค้ดตรงไหน หรือแก้ยังไงอะค่ะ
|
|
|
|
|
Date :
2009-11-23 01:06:26 |
By :
elfying |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อ ปกติถ้าชื่อและพาส admin เก็บอยู่ที่ตารางเดียวกับสมาชิกทั่วไป ผมจะสร้างอีก 1 ฟิลด์ครับ เพื่อระบุว่าเป็นadmin
สมมติชื่อฟิลด์ degree โดยถ้าเท่ากับ 1เป็น admin และถ้าเท่ากับ 0 เป็น user ทั่วไป
Code (PHP)
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>เครือข่ายนักวิจัย</title>
</head>
<body>
<?php
include ("config.php");
if(isset($_SESSION["valid_user"])){
echo "ขณะนี้คุณอยู่ในระบบแล้ว<br>";
echo '<a href="logout.php"> ออกจากระบบ </a><hr>';
}
else{
if(isset($_POST["send"]))
process_form();
else
show_form();
}
//ฟังก์ชันที่ใช้แสดงฟอร์ม
function show_form(){
echo <<<HTMLBLOCK
<table width="526" border="0" align="center">
<tr >
<td width="520" height="26" bordercolor="#000000"><form id="form2" name="form2" method="post" action="{$_SERVER['PHP_SELF']}">
<span class="style53"><strong>ชื่อผู้ใช้:</strong>
<label>
<input type="text" name="uname" id="username" />
</label>
<span class="style53"><strong>รหัสผ่าน:</strong>
<label> </label>
</span>
<label>
<input type="password" name="passwd" id="passwd" />
</label>
<label>
<input type="submit" name="send" id="button" value="เข้าสู่ระบบ" />
</label>
</form> </td>
</tr>
<tr >
<td height="17" bordercolor="#000000"><div align="right"><a href="forgetpass.php">ลืมรหัสผ่าน</a> |<a href="registerform.php"> สมัครสมาชิก</a></div></td>
</tr>
</table>
HTMLBLOCK;
}
// ฟังก์ชันที่ใช้ประมวลผลฟอร์ม
function process_form(){
$user = trim($_POST["uname"]);
$pass = trim($_POST["passwd"]);
if(($user != "")&&($pass != "")){
$chk =validate_user($user,$pass);
if( $chk != 'null'){ // เช็คเงื่อนไขว่าชื่อและพาสมีในฐานข้อมูลเปล่า
if($chk== 0) { // ถ้าระดับเป็น user ทั่วไปก็เข้าเงื่อนไขนี้
$_SESSION["valid_user"] = $user;
echo "<h2>ยินดีต้อนรับคุณ $user</h2>";
echo "ขณะนี้คุณได้เข้าสู่ระบบแล้ว<br>";
echo '<a href="search_by_graphic.php"> หน้าการค้นหาแบบกราฟิกส์</a><br>';
echo '<a href="logout.php"> ออกจากระบบ</a>';
}else{ // ถ้าระดับเป็น admin ก็ให้เข้าเงื่อนไขนี้
$_SESSION["valid_admin"] = $user;
echo '<a href="pcu.php"> go to pcu</a><br>';
}
}
else {
echo '<font color="red" size=""> ชื่อผู้ใช้และ/หรือรหัสผ่านไม่ถูกต้อง กรุณากรอกใหม่อีกครั้ง </font>';
show_form();
}
}
else {
echo '<font color="red"> คุุณยังไม่ได้ป้อนชื่อผุ้ใช้และ/หรือรหัสผ่่าน</font>';
show_form();
}}
// ฟังก์ชันตรวจสอบชื่อผู้ใช้และรหัสผ่่าน ซึ่งถูกเรียกใช้ในฟังก์ชัน process_form
function validate_user($u,$p) {
$cn=@mysqli_connect("127.0.0.1","root","admin");
if(!$cn){
exit;
}
mysqli_select_db($cn,"project");
$sql = "SELECT * FROM member WHERE user= '$u' AND pass='$p'";
$result = mysqli_query($cn,$sql);
$row_count = mysqli_num_rows($result);
$rs =mysql_fetch_array($result);
mysqli_close($cn);
if($row_count==0 ) return 'null'; // ถ้าไม่มีชื่อและพาสในฐานข้อมูลส่งค่า null ไป
else $rs[degree]; // ถ้ามีในฐานข้อมูลให้ส่งระดับสมาชิกไป
}
?>
|
|
|
|
|
Date :
2009-11-23 01:18:49 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณนะค่ะ
มันขึ้น error อันนี้อะค่ะ
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Project\login.php on line 96
แล้วถ้า login ด้วยชื่อ admin ก็เข้าหน้าปกติของ user อะค่ะ ไม่ได้มีข้อความไปหน้า pcu เลยค่ะ
|
|
|
|
|
Date :
2009-11-23 01:23:54 |
By :
elfying |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โทษทีครับ พักนี้เอ๋อไปนิด
else return $rs[degree]; // ลืม return ครับ
$rs =mysql_fetch_array($result); // มึนแห่ะ warning ได้ไง
ลองเขียนแบบนี้ดูครับ
$rs =mysqli_fetch_array($result);
$result =mysqli_query($cn,$sql) or die(mysql_error()); // ใส่ mysql_error() ให้ด้วยน่ะครับ ถ้าwaring อีกจะได้รู้เป็นเพราะอะไร
-แล้วเพิ่มฟิลด์ degree ในตาราง member ยังครับ
-ใส่ค่า 1 ให้ชื่อที่ต้องการเป็น admin ยังครับ
|
|
|
|
|
Date :
2009-11-23 02:02:30 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ เดี๋ยวจะลองทำดูนะค่ะ
|
|
|
|
|
Date :
2009-11-23 11:15:33 |
By :
elfying |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ ขอบคุณ คุณ xbeginner01 มากนะค่ะ
|
|
|
|
|
Date :
2009-11-23 22:35:09 |
By :
elfying |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|