在我的PHP应用程序中,登录页面以外的页面必须仅在用户登录时可见。 这是我登录的方式:
if($status=="ok"){
session_start();
echo '<script>window.location.assign("/Annapoorna/Welcome_Page.php");</script>';
}else{
echo '<script>alert("username / password is invalid");window.history.go(-1);</script>';
}
如果用户名和密码匹配,则状态为OK。
此外,如何确保未登录的用户无法访问登录页面以外的页面,即使是通过放置其他页面的直接URL?如何将此类请求重定向到登录页面?
答案 0 :(得分:0)
创建一个检查会话的脚本。并且该文件应包含在除登录文件之外的所有页面中。请考虑以下示例。
文件名:session_check.php
<?php
session_start();
if(!isset($_SESSION["status"]) && $_SESSION["status"]=='')
{
header('Location: index.php'); // your login page
exit;
}
?>
因此,这将检查您的所有页面的状态&#39;会话是否为空。如果您的会话为空,则表示未登录使用。如果状态为OK,则表示用户已登录。
现在,在您的登录页面中,您必须按照以下条件添加条件。
<?php
session_start();
if(isset($_SESSION["status"]) && $_SESSION["status"]=='OK')
{
header("Location: home.php");
exit;
}
?>
现在,这将检查如果状态会话不为空,则将重定向到home.php文件(在登录文件之后)。如果session为空,那么它将保持登录页面。
答案 1 :(得分:0)
<?php
session_start();
// do this in header of pages where you don't need access of all users
if(isset($_SESSION['status']) && $_SESSION['status'] != 'OK'){
// go and login user
header("Location: login.php");
die();
}