首先,我发现了其他几个问题,但到目前为止没有任何帮助。 快速提问:重定向后我丢失了会话变量。检查一下:
的login.php
if(preg_match("/[a-zA-Z]{2}\d{2}/im", $_POST["foo"])) {
if($_POST["email"]) {
$aPieces = explode("@", $_POST["email"]);
if(in_array($aPieces[1], $aAllowedMails)) {
session_start();
$_SESSION["isAllowed"] = true;
header("Location: start.php");
exit;
}
}
}
Start.php
<?php
// session_start()
if($_SESSION["isAllowed"] == true) :
?>
some content
<?php else : ?>
<h1>Acces Denied</h1>
<?php endif ?>
我的会话在第二页(start.php)上始终为NULL,这导致“访问被拒绝” - 文本。试图在session_start
上添加第二个start.php
,但最终会出现错误消息:
session_start():无法发送会话缓存限制器 - 已发送的标头&gt; (输出从[path] /start.php:1开始)in 有什么想法吗?
答案 0 :(得分:1)
您是否在下一页开始会话? 如果不这样做,可以通过将其添加到代码中来完成此操作:
<?php session_start(); ?>
<?php
if($_SESSION["isAllowed"] == true) :
?>
some content
<?php else : ?>
<h1>Acces Denied</h1>
<?php endif ?>