我花了最后几个小时试图让我的会话正常工作,我遇到的问题是我有这个会话检查,它在页面打开时运行,一切正常等等......
但是,当用户点击提交时在页面上,它也运行相同的会话检查,导致页面抛出错误。
这是会话检查:
$estate_id="";
if (isset($_SESSION['addon_estate_id'])) {
$estate_id = $_SESSION['addon_estate_id'];
unset($_SESSION['addon_estate_id']);
} else {
$reg_error = "You need to select a house first.";
$_SESSION['error'] = $reg_error;
header("Location: addons.php");
exit;
}
这是在用户单击提交按钮时运行的代码:
if (isset($_POST['add_browse_submit'])) {
$addon_selected_id = $_POST['addon_hidden_id'];
$addon_hidden_estate_id = $_POST['addon_hidden_estate_id'];
$_SESSION['addon_sess_id'] = $addon_selected_id;
$_SESSION['addon_estate_detail_id'] = $addon_hidden_estate_id;
header('Location: addon_detail.php');
exit;
}
基本上发生的事情是当用户单击提交按钮时,它也会运行session check
代码,导致reg_error
. 如果我在会话检查中注释掉代码else
,那么一切都很好,脚本会按addon_detail.php
原样执行。
有什么理由这样做吗?
谢谢