【发布时间】:2014-12-10 17:19:37
【问题描述】:
我这辈子都无法让它工作,我已经将代码破解到最低限度,显然最后的}else{ 会联系一个通过$_POST 提交的简单表单。
我知道在会话中存储身份验证不是最佳做法,但这是针对带有日历的独立页面,因此“最高安全性”不是优先事项。
这里是代码
<?php
ini_set('display_errors', 1);
session_start();
if($_SESSION['passw'] === "word") {
echo 'password checked ok<br>';
}elseif($_POST['password'] === "word"){
$_SESSION['passw'] = "word";
unset($_POST);
}else{
$_POST['password'] = "word";
header('Location: '.$_SERVER['PHP_SELF']);
}
?>
任何想法都非常感谢:-)
【问题讨论】:
-
不要打扰 if 语句,总是在文件开头使用
session_start();,这是强制性的。会话不可能存在,它不存在于您的新文件中,只是因为您在旧文件中启动它,您需要在每个文件中保持会话处于活动状态。 Similar question/answer 就在几个小时前。 -
无论会话是否启动,都需要发起
session_start();。
标签: php session post if-statement