我正在尝试为会话做一个简单的测试PHP脚本.基本上,$_SESSION每次刷新页面时,它都会递增计数器(存储在其中).这是有效的,但我正在尝试使用链接来销毁使用?destroy=1参数重新加载页面的会话.我已经尝试了几个if语句来查看是否设置了该参数,如果是这样来销毁会话但它似乎不起作用.
如果设置了参数,我甚至在主体中放置一个if语句来弹出消息 - 但它似乎没有被拾取.
我知道我在做一些愚蠢的事(我是一个PHP新手),但我似乎无法找到它是什么...
看这里的代码:
<?php
if ($_POST['destroy']) {
session_destroy();
} else {
session_start();
}
?>
<html>
<head>
<title>Session test</title>
</head>
<body>
<?php
if (isset($_POST['destroy'])) {
echo "Destroy set";
}
$_SESSION['counter']++;
echo "You have visited this page " . $_SESSION['counter'] . " times" . "<BR>";
echo "I am tracking you using the session id " . session_id() . "<BR>";
echo "Click <a href=\"" . $_SERVER['PHP_SELF'] . "?destroy=1\">here</a> to destroy the session.";
?>
Run Code Online (Sandbox Code Playgroud)
我想你放了
$_POST['destroy']
Run Code Online (Sandbox Code Playgroud)
代替
$_GET['destroy']
Run Code Online (Sandbox Code Playgroud)
如果您想使用$ _POST变量,则需要使用表单.$ _GET变量存储在URL中.