使用会话将用户admin授予页面

时间:2014-10-16 08:16:40

标签: php validation session echo

我正在为一个制作简单多页网站的课程做练习。其中一个页面是" addeddit.php'页面要求用户成为管理员。但是,如果网站的用户是经纪人,则应拒绝他们访问此页面。

我不确定如何正确编码" addedit.php'页。

我有一个用用户名和密码保存的数据库以及一个' Y'或者' N'如果他们是管理员 我的登录页面的php如下所示,我添加了$ isadmin变量。

我的' addedit.php'到目前为止的代码如下: 在session_start();

<?php
session_start();

if($isadmin==true){
header("location:addedit.php");
exit;
}
else
{
echo "Sorry, you must be an administrator to view this";
}
}
?>

4 个答案:

答案 0 :(得分:0)

尝试此操作后,请按此设置会话

$_SESSION['admin']= $fetchresult['admin'];

在主页面和'addedit.php'中尝试这样..

<?php
        session_start();

        if($_SESSION['admin'] == 'Y'){
        header("location:addedit.php");
        exit;
        }
        else
        {
        echo "Sorry, you must be an administrator to view this";
        }
        }
        ?>

答案 1 :(得分:0)

在此处更改此类代码

$fetchresult = $result->fetchRow();
$userid = $fetchresult['username'];
$_SESSION['isAdmin'] = $fetchresult['admin'];
header("location:mainpage.php");

现在,addedit.php

<?php
    session_start();

  if(isset($_SESSION)){
    if($_SESSION['isAdmin'] == true){
      header("location:addedit.php");
      exit;
    }
   else    {
      echo "Sorry, you must be an administrator to view this";
    }
 }
?>

答案 2 :(得分:0)

在登录用户的页面中,您应该将值存储在会话中,例如

$_SESSION['userid'] = $userid;
$_SESSION['isadmin'] = $isadmin;

然后在您的addedit.php页面上,您需要从SESSION对象中检索值,例如

$isadmin = $_SESSION['isadmin'];

如果这是你在$ isadmin中存储的内容,请务必检查'Y'标志,例如

if ($isadmin == 'Y')

答案 3 :(得分:0)

更改您的其他声明。

else
{
    $fetchresult = $result->fetchRow();
    $userid = $fetchresult['username'];
    $isadmin = $fetchresult['admin'];

    if($isadmin=='N' || $isadmin='Y')//As you mention in the question 
            //That admin column of two value one is N and one is Y
     $_SESSION['admin']=$isadmin;
    header("location:mainpage.php");
}
?>

现在您的addedit.php看起来像这样

<?php
session_start();
$_SESSION['admin']=$isadmin;//Only added this line
if($isadmin==TRUE){//rest of the code remain same. i  change only true to 
    //TRUE. But it should work with true as well
header("location:addedit.php");
exit;
}
else
{
echo "Sorry, you must be an administrator to view this";
}
}
?>