使用用户名密码登录后我想按照登录时选择的角色不同跳转到不同的页面,可是为什么不跳转呢?下面是我的代码:$name=make_safe($_POST["name"]);
$pass=make_safe($_POST["password"]);
$role=make_safe($_POST["role"]);
$lnk = mysql_connect('localhost', 'root', 'myoa888') or die ('Not connected : ' . mysql_error());
mysql_select_db('flm', $lnk) or die ('Can\'t use flm: ' . mysql_error());
mysql_query("SET NAMES gbk");
$result=mysql_query("select count(*) from flm_salesman where name='$name' and password='$pass'");
$row = mysql_fetch_array($result);
if($row[0]==0)
{
echo("<script language='javascript'>alert('用户名密码不匹配!');window.location.href='login.php';</script>");
exit();
}
else
{
session_start();
$_SESSION["name"]=$name;
if($role=="区域经理")
{
echo("<script language='javascript'>alert('登陆成功,下面跳转到区域经理管理首页');window.location.href='manage.php';</script>");
}
if($role=="业务员")
{
echo("<script language='javascript'>alert('登陆成功,下面跳转到业务员管理首页');window.location.href='manage.php';</script>");
}
}而如果不分角色跳转则可以进入到其他页面,代码如下:
$name=make_safe($_POST["name"]);
$pass=make_safe($_POST["password"]);
$role=make_safe($_POST["role"]);
$lnk = mysql_connect('localhost', 'root', 'myoa888') or die ('Not connected : ' . mysql_error());
mysql_select_db('flm', $lnk) or die ('Can\'t use flm: ' . mysql_error());
mysql_query("SET NAMES gbk");
$result=mysql_query("select count(*) from flm_salesman where name='$name' and password='$pass'");
$row = mysql_fetch_array($result);
if($row[0]==0)
{
echo("<script language='javascript'>alert('用户名密码不匹配!');window.location.href='login.php';</script>");
exit();
}
else
{
session_start();
$_SESSION["name"]=$name;
echo("<script language='javascript'>alert('登陆成功,下面跳转到管理首页');window.location.href='manage.php';</script>");
}请问各位这是怎么回事啊?

解决方案 »

  1.   

    if($role=="区域经理") 
    $role这个变量,我没看到你从库中取出来呀!
      

  2.   

    我感觉是您的sql查询语句,没有查询出 $role 的值 ,你用的
    $result=mysql_query("select count(*) from flm_salesman where name='$name' and password='$pass'"); 
    $row = mysql_fetch_array($result); 
    好像只是查询出有没有这个用户名和密码,或者说是,用户名是$name和密码是$pass 的记录有几条
    但是没有和$role相关的信息啊。您是不是应该在找到相应的$name存在之后,再去查询一下这个用户名对应的$role 然后根据$role 的值去转向
      

  3.   

    $result=mysql_query("SELECT name, password, role FROM flm_salesman where name='$name' and password='$pass'"); 
    如果这样查询的话,是不是就可以有$role拿来用了。
    我是刚刚学,也不太会
      

  4.   

    是不是  javascript   出错.
      

  5.   

    如果是JS出错.
    window.location.href 改成 document.location 试下
      

  6.   

    if($role==...
    寫成if($_POST[role]=....