login โดยผู้ใช้สามประเภท ทำยังไงอะคะ คือว่า ออกแบบให้ฟรอม์สมาชิกอะค่ะ
ผมคิดว่าต้องทำฟิลของฐานข้อมูลที่สำหรับเก็บประเภทอีก1ฟิล แล้วในโค๊ต loginก็เช็คว่าค่าที่ส่งมาเป็นประเภทไหน
Code (PHP)
<?php
include('connect.php');
$user="root";
$pass="1234";
<?php
include('connect.php');
$user="root";
$pass="1234";
$sql="select * from cos where cuser='$user'AND cpass='$pass'";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
$arr=mysql_fetch_array($result);
if($num){//เช็กว่ามีuserนี้หรือป่าว
echo $arr['type_id']; //ประเภทของuser แล้วท่านจะทำอะไรต่อก็ทำไปครับ
}
else{
echo "qq";
}
?>
ที่สำคัญคือการ สมัครสมาชิกอะครับตอนนั้นให้ระบุประเภทไปด้วยครับ ถ้าไม่ตรงกับคำถามขออภัยด้วยครับ
Date :
2010-01-09 17:06:43
By :
sagi
จะกำหนดให้ เวลาเข้า login แล้ว ถ้า status_login เป็น USER ให้ส่งไป ฟร์อม user.php ถ้า status_login เป็น ADMIN ให้ส่งไป ฟร์อม admin.php อะค่ะ
คือว่า ปรกติอะค่ะ จะสร้าง ฟร์อม login แล้ว ส่ง ค่าไปที่ ฟร์อม chkmember โดย
จะเขียนโค้ด หน้า chkmember แบบนี้อะค่ะ
<?
$username=$_POST[username];
$password=$_POST[password];
if($username=="" or $password=="") {
echo "<h3> ERRER : กรุณากรอกข้อมูลให้ครบ</h3>";
exit();
}
include "connect.php";
$sql="select * from person where username='$username' and password='$password' ";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
mysql_close();
if($num<=0) {
echo"<h3> ERRER : Username หรือ Password ไม่ถูกต้อง</h3>";
} else {
session_start();
$_SESSION[sess_userid]=session_id();
$_SESSION[sess_username]=$username;
header("Location:main.php");
}
if ($_SESSION[sess_status_login]=$USER;
?><style type="text/css">
</style>
[<a href="login.php">กลับหน้าล๊อกอิน</a>]
หน้า chksession
<?
session_start();
$sess_userid=$_SESSION[sess_userid];
$sess_username=$_SESSION[sess_username];
if($sess_userid<>session_id() or $sess_username=="") {
header("Location:index.php");
exit();
}
?>
จะต้องแก้ยังไงอะค่ะ
Date :
2010-02-02 00:17:23
By :
jiro_aaron
ฟิลด์ในฐานข้อมูลก็สร้างอันนึงไว้รองรับสถานะไปเลย เพื่อความง่ายกว่าไปเช็คที่ id เช่น user_status แล้วก็..
ผมไม่เคยเขียน php mysql แบบธรรมดาอย่างชาวบ้านเค้าเลย เอาวิธีการทำงานไปละกันนะคับ
select โดยเช็ค where username and password ตามปกติ
ถ้าหาพบ แสดงว่า match ล็อกอินถูกต้อง
เอาฟิลด์ในตารางมาเทียบ if เช่น $row['user_status'] คือตัวระบุระดับของผู้ใช้ 1=user, 2=admin, 3=... อะไรก็สมมุติไป
Code (PHP)
if ($row['user_status'] == '1') {
// ไปที่หน้าหนึ่ง
} elseif ($row['user_status'] == '2') {
// ไปอีกหน้าหนึ่ง
}
แบบนี้พอจะเข้าใจมั้ยอะครับ
Date :
2010-02-02 00:41:00
By :
mr.v
สร้างแล้วอะค่ะ ในฐานข้อมูลอะ status_login จะเก็บ user กับ admin อะค่ะ
แต่ว่ามันไม่ไปอะค่ะ
<?
$username=$_POST[username];
$password=$_POST[password];
if($username=="" or $password=="") {
echo "<h3> ERRER : กรุณากรอกข้อมูลให้ครบ</h3>";
exit();
}
include "connect.php";
$sql="select * from person where username='$username' and password='$password' ";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
mysql_close();
if($num<=0) {
echo"<h3> ERRER : Username หรือ Password ไม่ถูกต้อง</h3>";
if ($row['status_login'] == 'USER') {
header("Location:user.php");
} elseif ($row['status_login'] == 'ADMIN') {
header("Location:admin.php");
}
?>
[<a href="login.php">กลับหน้าล๊อกอิน</a>]
เอาไปแทรกแบบนี้ถูกมั้ยอะคะ
Date :
2010-02-02 10:02:44
By :
jiro_aaron
ถ้าผมเข้าใจไม่ผิดนะ
if ($row['status_login'] == 'USER') {
header("Location:user.php");
} elseif ($row['status_login'] == 'ADMIN') {
header("Location:admin.php");
}
คุณยังไม่ได้ใช้ $row เก็บค่าอะไรเลย
ลองเปลี่ยนจาก $row เป็น $result ดูครับ
Date :
2010-02-02 10:34:11
By :
kulukulu
เปลี่ยนจาก $row เป็น $result แล้วอะค่ะ มันไม่เช็คค่าให้อะค่ะ
Date :
2010-02-02 11:48:39
By :
jiro_aaron
หรือไม่ก็ลองเพิ่ม
$row=mysql_fetch_array($result);
ก่อนที่จะปิดการเชื่อมต่อ mysql_close();
Date :
2010-02-02 17:18:19
By :
kulukulu
ทำแล้วอะยังไม่ได้เหมือนเดิมเลยอะค่ะไม่รู้ว่าเอาใส่ถูกหรือเปล่าอะ
<?
$username=$_POST[username];
$password=$_POST[password];
if($username=="" or $password=="") {
echo "<h3> ERRER : กรุณากรอกข้อมูลให้ครบ</h3>";
exit();
}
include "connect.php";
$sql="select * from person where username='$username' and password='$password' ";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
$row=mysql_fetch_array($result);
mysql_close();
if($num<=0) {
echo"<h3> ERRER : Username หรือ Password ไม่ถูกต้อง</h3>";
}
if ($result['status_login'] == 'USER') {
header("Location:user.php");
} elseif ($result['status_login'] == 'ADMIN') {
header("Location:admin.php");
}
?>
[<a href="login.php">กลับหน้าล๊อกอิน</a>]
คือว่าไม่รู้ว่าเอาใส่ถูกหรือเปล่าอะค่ะช่วยดูให้หน่อยนะค่ะ
Date :
2010-02-02 22:21:01
By :
jiro_aaron
รอท่านต่อไปเข้ามาช่วย
Date :
2010-02-03 13:57:30
By :
kulukulu
Code (PHP)
<!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>Untitled Document</title>
</head>
<body>
<?
$username=$_POST[username];
$password=$_POST[password];
if($username=="" or $password=="") {
echo "<h3> ERRER : กรุณากรอกข้อมูลให้ครบ</h3>";
exit();
}
include "connect.php";
$dbname = "xxx"; << ชื่อดาต้าเบลไม่รู้คุณเก็บไว้ในไฟล connect.php หรือเปล่าวหน่ะ
mysql_select_db($dbname,$connection);
$sql="select * from person where username='$username' and password='$password' ";
$row = mysql_query($connection,$sql) or die(mysql_error());
$resutl = mysql_fetch_assoc($row);
$num=mysql_num_rows($row);
if($num<=0) {
echo"<h3> ERRER : Username หรือ Password ไม่ถูกต้อง</h3>";
}
if ($result['status_login'] == 'USER') {
header("Location:user.php");
} elseif ($result['status_login'] == 'ADMIN') {
header("Location:admin.php");
}
?>
[<a href="login.php">กลับหน้าล๊อกอิน</a>]
</body>
<?php mysql_close(); ?>
</html>
Date :
2010-02-03 14:20:51
By :
ความรู้เท่าหางอึ่ง
ผมก้อทำอยุ่นะครับแบบคุณอ่ะ แต่ใช้ 3 สถานะ คือ ผู้ดูแล เจ้าหน้าที่ และสมาชิกทั่วไป
ใช้ 1 ตารางเดียวกันหมด ครับ แต่จะเพิ่ม ฟิวอีก1ฟิวด้านหลังสุดเพื่อไช้กำหนดสิทธ์ ยกตัวอย่างนะครับ
name Username pass test
นำฉัตร numchut 1234 1
สมพงษ์ sompong 3456 2
การดา kanda 0256 2
สุรพงษ์ surapong 1545
สมควร somkon 5987
จันทร์ janjow 5678
จากนันเขียนโค๊ดตรวจสอบ ในหน้า logincheck.php
โดยกำหนดว่าค่า 1 คือผู้ดูแล 2คือ เจ้าหน้าที่ นอกจากนั้น คือสมาชิกธรรมดา
หลักการคือ
ไห้ประกาศตัวแปร
$a=1, $b=2;
$x=ข้อมูลในฟิว test
แล้วทำการตรวจสอบ
if $x=$a
echo "hi admin go to web admin";
elseif ($x=$b);
echo "สวัสดีคุณเจ้าหน้าที่";
else
echo " ยินดีต้อนรับคุณ..................;
หลักการประมาณนี้ครับ
ส่วนโคด รอท่านอื่น ของผมก้อมีครับ
แต่ตอนนี้ติดบัก ไว้แก้เสร็จก่อน
Date :
2010-02-04 12:29:27
By :
numchut
Load balance : Server 02