我想要一个硬编码的登录页面(login.html),没有数据库。如果一个人写了正确的用户名和密码,它会重定向到 ( page2.html )。
现在我的问题是,如果一个人直接为 page2.html 编写 URL,他将能够访问它,而无需任何登录。
理想案例=> www.example.com/login.html => 如果正确 => www.example.com/page2.html
问题案例=> www.example.com/page2.html => page2.html ,没有登录 :(
您可以使用这样的 php 会话来控制这一切
//set the session on the login page
$_SESSION['loggedIn'] = true;
//on the second page you check if that session is true, else redirect to the login page
if($_SESSION['loggedIn'])
//allow
else
//redirect to the login page
header('Location: /login.html');
Run Code Online (Sandbox Code Playgroud)
一个会话是一种能够存储信息(变量)在多个页面中使用。默认情况下,会话变量持续到用户关闭浏览器。
为简单起见,您可以将页面更改为php(例如login.php)。
第 1 行:在您的login.php页面中,您将首先检查用户名和密码是否正确,如果正确,请设置$_SESSION['loggedIn'] = true
第 2 行:在您的第二页 ( page2.php) 中,您将首先通过检查会话是否具有值来检查用户是否登录if($_SESSION['loggedIn']) {//allow processing}
else { header('Location:/login.php');}