我如何写限制访问页面?

时间:2015-03-15 08:08:04

标签: php mysql phpmyadmin

我为用户编写了自定义登录脚本,以登录主控制页面。我发现即使用户没有登录,他们仍然可以访问我希望有人帮我编写限制访问页面()的主要控件。

请查看我的php登录脚本,并根据该代码帮助我写限制访问主控制页面。假设我的主要crontrol页面是:cecontrolpage.php

我知道我们使用$ _SESSION,但我对它一无所知。

这是我的login.php代码,工作正常:

<?php
Session_start();
$Email       = $_POST["email"];
$Password    = $_POST["password"];
$cn          = "localhost";
$db_username = "root";
$pas         = "***";
$db_name     = "cemembers";
//Open a connection to a MySQL Server
if ($Email && $Password) {
    $connect = mysqli_connect($cn, $db_username, $pas, $db_name) or die("Could not connect to database");
    //sending MySqli query
    $query   = mysqli_query($connect, "SELECT * FROM users WHERE Email= '$Email'");
    $numrows = mysqli_num_rows($query);
    //After PHP declaration we are going to create index file[form]
    if ($numrows !== 0) {
        while ($row = mysqli_fetch_array($query)) {
            $dbEmail    = $row["Email"];
            $dbPassword = $row["Password"];
        }
        if ($Email == $dbEmail && $Password == $dbPassword) {
            header("location:ce membership birthday system control_pannel.php");
            @$_SESSION("Email") == $Email;
        } else
            header("location:index.php?login_attempt=1");
    } else
        header("location:index.php?login_attempt=2");
} else
    header("Location:index.php?login_attempt=0");
?>

请有人帮我写php代码来限制访问cecontrol.php ??

请逐步使用每个部分的php评论。

2 个答案:

答案 0 :(得分:3)

首先,您需要检查用户是否已登录: 你通过检查会话是否已经设置来做到这一点。

//Check if the user is logged in
    function userlogged_in()
    {
        return(isset($_SESSION['userid']))?true:false;
    }

然后,您需要将用户重定向到一个页面,该页面表明访问权限未经授权,他们需要登录才能查看该页面:

您可以通过检查userlogged_in函数是否返回true或false

来执行此操作
function user_restricted()
{
    if (userlogged_in()=== false)
    {
        header('Location: permission.php ');
        exit();
    }
}

然后你需要在开始会话后在每个页面上调用user_restricted()函数。

答案 1 :(得分:0)

首先,你需要在数据库认证后的会话中保存用户值,如
$_SESSION['username'] = "name"; $_SESSION['user_id'] = 1;

function check_session() {
                            session_start();
                            if ($_SESSION['user_id']=='')
                            {
                               // redirect to login 
                            }
                        }

在您要限制访问的每个页面上,您都可以致电check_session()

相关问题