有这个问题。我知道互联网上有很多这样的问题,但似乎没有一个对我有用:(
所以我打算在网站上制作一个管理面板。您通过登录屏幕进入,当名称+密码正确时,会进行会话。在其他管理页面上,我将测试是否设置了此会话,由此我将知道用户是否可以访问该页面。
Inlog.php(简化版)
<?php session_start(); ?> <html ...
然后经过大量控制
if ($adminpwd == $pass) {
session_regenerate_id();
$_SESSION["mysessionname"] = $name;
$tijd = date('H:i:s', strtotime('+ 30 minutes'));
$_SESSION["E4A_einde"] = $tijd;
session_write_close();
echo "<script type='text/javascript'>window.location = 'myotheradminpage'</script>";
}
我的其他 php 页面包括此脚本
<?php session_start();
if (!isset($_SESSION["mysessionname"])) {
session_destroy();
echo '<SCRIPT LANGUAGE="JavaScript"> window.alert("no session found") </SCRIPT>';
echo "<script type='text/javascript'>window.location = 'myloginpage'</script>";
}
使用此元素,如果未设置会话,则会进行重定向,如果设置了会话,则将触发 php 页面上的其他代码。
但事实是,每次我再次被重定向到我的登录页面。所以我的会话没有设置:s 不知道为什么,所以请帮帮我。
我在每个页面上都尝试了很多方法来添加 session_start() 方法,我尝试在设置会话之前重新生成会话 ID,但没有任何效果..