【发布时间】:2015-02-04 08:41:23
【问题描述】:
我的这个脚本运行良好。但是我对 utype_id 可以访问其他 utype_id 有问题。如何对其进行身份验证以使utype_id=1 无法访问utype_id=2?代码如下。
<?php
session_start();
include('includes/connection.php');
$username=$_POST['username'];
$password=$_POST['password'];
if(!empty($username) && !empty($password))
{
$command="select * from user WHERE username = '".$username."' and password='".$password."'";
$result1=mysql_query($command);
$count=mysql_num_rows($result1);
$utype_id = "SELECT utype_id FROM user WHERE username='$username'";
$result2 = mysql_query($utype_id);
$result3 = mysql_fetch_row($result2);
if($count==0)
{
header("location:loginform.php?attempt=fail");
}
else {
$sql="select * from user WHERE username='".$username."'";
$result=mysql_query($sql);
while($row=mysql_fetch_row($result)){
$_SESSION["id"]=$row[0];
$_SESSION["username"]=$row[5];
$_SESSION["name"]=$row[2];
switch($result3[0]){
case '1':
header("location: module1/index.php");
break;
case '2':
header("location: module2/index.php");
break;
case '3':
header("location:loginform.php?attempt=unauthorized");
break;
}
}
}
}
else
{
header("location:loginform.php?attempt=null");
}
?>
【问题讨论】:
-
为什么你在三个查询中查询相同的用户详细信息??
-
1 查询是否为用户的选择。 2 用于用户的 utype_id。和 3 用于组合 fetch_row。这行得通。但问题是 utype_id 1 可以访问 utype_id 2。这不应该是..
-
请检查我下面的代码,希望对你有帮助
标签: php mysql login login-script access-levels