检查特定用户

时间:2015-04-23 08:45:36

标签: php

我有以下代码,以确保用户已登录。但我想更改为代码以检查特定的用户ID。任何人都可以帮我这个吗?

function protect_page() {
    if (logged_in() === false) {
        header('Location: protected.php');
        exit();
    }
}

2 个答案:

答案 0 :(得分:2)

您可以使用额外的可选变量更新登录功能。 如果你没有指定$ user_id变量,它将取值0,这将只检查用户是否登录。如果你确实指定了某个$ user_id,那么如果用户登录则该函数将返回true $ user_id匹配会话中存储的id。

function logged_in($user_id = 0) 
{
    return (isset($_SESSION['user_id']) && (($user_id == 0) || ($_SESSION['user_id'] == $user_id))) ? true : false;  //this function checks if the user is logged in and matches the given user identifier.
}

答案 1 :(得分:0)

您可以修改函数logged_in并将特定用户ID传递给函数:

function logged_in($id) {
    //this function checks if the user is logged in and has a specific id
    return (isset($_SESSION['user_id']) && $_SESSION['user_id'] === $id) ? true : false;
}

您必须更改protect_page功能以适应新的logged_in功能:

function protect_page() {
    if (logged_in(7) === false){
        header('Location: protected.php');
        exit();
    }
}