在php错误中限制对特定用户的访问

时间:2018-06-02 05:24:02

标签: javascript php html sql

我有一个简单的网站登录。我的用户sql表如下图所示: enter image description here

我的登录表格如下:

<div class="container">
    <div class="row">
        <div class="col-md-4 col-md-offset-4">
            <div class="login-panel panel panel-success">
                <div class="panel-heading">
                    <h3 class="panel-title">Sign In</h3>
                </div>
                <div class="panel-body">
                    <form role="form" method="post" action="login.php">
                        <fieldset>
                            <div class="form-group"  >
                                <input class="form-control" placeholder="E-mail" name="email" type="email" autofocus>
                            </div>
                            <div class="form-group">
                                <input class="form-control" placeholder="Password" name="pass" type="password" value="">
                            </div>


                                <input  type="submit" value="login" name="login" >

我想限制某些用户输入某些页面。我为此创建了访问列。我已将以下代码添加到受保护的页面

session_start();
  if($_SESSION["access"]!=0)
            {
            header('Location: login.php');
            }

我想这个coode存在一些问题。当access = 0时,即使用户未登录并显示Undefined index: access in C:\xampp\htdocs\nurse\index.php on line 12,也会显示该页面 当访问权限设置为1时,其重定向到登录页面。有谁可以帮助我?

2 个答案:

答案 0 :(得分:0)

您需要检查会话是否设置为

    if(isset($_SESSION["access"])) {
        if($_SESSION["access"] !=0) {
        header('Location: login.php');
     }
   }

答案 1 :(得分:-1)

您需要检查$ _SESSION上是否存在访问密钥。
尝试将代码更改为
if( !isset($_SESSION['access']) ) { /* redirect to login */ }