我正在尝试学习cookie章节,需要一些帮助来了解何时使用它们。在这个例子中,我想让用户输入他的信息,然后点击提交。然后,将显示他的信息。但是我有一个退出按钮,当他按下这个按钮时,我希望显示消息恢复为默认状态。
(这是不完整的)但到目前为止我只在test.php文件中写了以下内容:
<?php
session_start();
if(isset($_GET['submit'])) {
$fn = $_GET['fname'];
$ln = $_GET['lname'];
$stunum = $_GET['stunum'];
$_SESSION['firstname'] = $fn;
$_SESSION['lastname'] = $ln;
$_SESSION['studentNumber'] = $stunum;
}
setcookie ('logout', "Logout", time()-3600);
session_destroy();
?>
<html>
<body>
<form action ="message.php" method="get">
Firstname:<br><input type="text" name="fname"><br>
Lastname:<br><input type="text" name="lname"><br>
Student ID:<br><input type="number" name="stunum"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
在message.php中:
<?php
include('test.php');
$firstname = $_SESSION['firstname'];
$lastname = $_SESSION['lastname'];
$studentNumber = $_SESSION['studentNumber'];
echo "Hi " . $firstname . " " . $lastname . "." . "Your student number is " . $studentNumber;
setcookie('logout', "Logout", time() + 3600);
if (isset($_COOKIE['logout'])) {
setcookie('logout', "Logout", time() - 3600);
session_destroy();
}
?>
<html>
<body>
<button name="logout">Logout</button>
</body>
</html>
答案 0 :(得分:0)
你不需要这个&#34;退出&#34;饼干。您的用户已通过会话登录,因此session_destroy();
已足够。良好的做法是&#34;销毁&#34; (取消设置)仅限您已定义的会话变量(&#39; firstname&#39;,&#39; lastname&#39;,&#39; studentNumber&#39;)但不销毁可包含来自的数据的整个会话其他脚本。
因此,如果您要注销用户围绕您的&#34;退出&#34;按键 并通过POST发送一些变量:
<form action="" method="post">
<button name="logout">Logout</button>
<input type="hidden" name="logout" value="true" />
</form>
如果用户提交该表单,则取消设置会话变量:
if(isset($_POST['logout'])) {
unset($_SESSION['firstname']);
unset($_SESSION['lastname']);
unset($_SESSION['studentNumber']);
}
这不是一个很好的代码示例,但我希望这会对您的教育有所帮助。