【发布时间】:2015-01-18 19:21:21
【问题描述】:
如果我解释清楚的话,这应该很容易。
我正在尝试创建一个网页,当用户输入名称时会话开始,名称不断显示,直到用户按下注销按钮;这应该结束会话。我最接近的是:
<if (isset($_POST['name'])) {
$_SESSION['name'] = $_POST["name"];
echo "<input type='submit' name='logout' method='logout' value='Log out'>";
echo "</form>";
echo "</h1>";
echo "</div>";
if(isset($_POST['logout']) && ($_POST['logout'] == "Log out")) {
session_destroy(); }
但它不会结束会话,并且输入后会不断显示名称。即无法结束会话。
如果您需要更多解释,或者需要更多代码来理解,请告诉我。非常感谢任何帮助。
【问题讨论】:
-
我认为不需要检查 $_POST['logout'] 值,但请尝试使用
unset($_SESSION); -
尝试去掉“&& ($_POST['logout'] == "Log out")”。
-
你确定
if里面的代码确实已经到达了吗? -
method='logout'那是什么? <form>。你的表单标签在哪里? -
我注意到你错过了一个缩进,其中包含
<if (isset($_POST['name'])) {删除不应该在那里的<。您需要出示您的完整代码。
标签: php forms session logout destroy