如何检查PHP用户是否已登录
如何检查用户是否已登录,以便在用户登录时调用函数if(logged_on()),调用php函数并仅显示登录用户的内容,如下所示:如何检查PHP用户是否已登录,php,session,login,Php,Session,Login,如何检查用户是否已登录,以便在用户登录时调用函数if(logged_on()),调用php函数并仅显示登录用户的内容,如下所示: <?php if(logged_on()) { // show profile, edit profile buttons } else { // show login button or form } ?> <?php session_start(); function is_logged() {
<?php
if(logged_on()) {
// show profile, edit profile buttons
}
else { // show login button or form }
?>
<?php
session_start();
function is_logged() {
if (isset($_SESSION['user_id'])) return $_SESSION['user_id'];
else return false;
}
if (is_logged()) {
$user_id = is_logged();
do_something($user_id);
} else {
if (isset($_POST['submit'])) { //form submitted
//check login and password, if they are correct, do this:
$_SESSION['user_id'] = $user_id_from_database;
//if not correct
unset($_SESSION['user_id']);
header('Location: /'); //refresh page
} else {
//show login form with button named 'submit'
}
}
?>
我已将所有会话变量声明为$username和$password等,但尚未声明logged_on()函数。但我还将添加is_admin()函数,以便管理员可以访问非用户内容并删除用户和页面,然后添加confirm_admin()函数,以便用户无法访问delete-users.php等等。执行以下操作:
<?php
if(logged_on()) {
// show profile, edit profile buttons
}
else { // show login button or form }
?>
<?php
session_start();
function is_logged() {
if (isset($_SESSION['user_id'])) return $_SESSION['user_id'];
else return false;
}
if (is_logged()) {
$user_id = is_logged();
do_something($user_id);
} else {
if (isset($_POST['submit'])) { //form submitted
//check login and password, if they are correct, do this:
$_SESSION['user_id'] = $user_id_from_database;
//if not correct
unset($_SESSION['user_id']);
header('Location: /'); //refresh page
} else {
//show login form with button named 'submit'
}
}
?>
只需使用
如果(isset($_会话)){…}
否则可以使用“session_status()”方法。
如果您想知道是否设置了特定变量:
如果(isset($_SESSION[“isLogged”]){…}您的问题不清楚?“我如何检查用户是否“登录”或是否输入了会话变量,我希望将用户声明为此登录”。请更改措辞以便可以理解,并说明您的预期结果。您是否构建了logged_on()函数?Anant-我会解释得更好一点,谢谢你的提示Aviz-我没有,我不知道怎么做,你现在的具体问题是?谢谢,但是请检查我做的编辑。谢谢,但是请检查我做的编辑。我试图实现的目标更清楚一点。你可以声明一个变量,如$\u SESSION[“isAdmin”]但我认为这是不安全的。如果数据库上有“isAdmin”标志,请直接从数据库中读取此变量。