我真的对PHP中的session_destroy()函数感到困惑。我在php手册中看到,它破坏了注册到会话中的所有数据。那到底是什么意思?
当我试图回显一个结果,我存储在$_SESSION后,session_destroy(),它仍然被打印!
我只是认为存储在$_SESSION中的结果是注册到会话中的数据。
如果这是错误的,那么php手册所要传达的数据是什么。需要一个指导。
session_start();
class Student
{
public $name;
public $id;
function setName($param)
我只在会话中存储登录的用户id。
当用户注销时,会话对我来说就变得无用了。我一定要毁了它吗?
这些是我用来启动和销毁会话的Utils类的方法。
static function sessionSecureStart()
{
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
}
static function sessionSecureDestroy()
{
//Utils::sessionSecureStart(); This part is for testing only
我已经创建了一个使用PHP和MYSQL登录。
如果登录该页面,它将转到新页面。
我的问题:一旦登出我的登录页面,它会再次显示新页面本身,但我不想在我登出后显示该页面
?php
session_start();
if (!isset($_SESSION['username'])) {
$_SESSION['msg'] = "You must log in first";
header('location: login.php');
}
if (isset($_GET['logout
通过阅读和,我发现destroy没有清理变量等等。
为什么下面的代码没有清理$_SESSION超级全局,它应该通过它的文档来清理它?
这种行为在任何地方都有记录吗?
用于复制的片段:
#!/usr/bin/php
<?php
session_start();
$_SESSION['x'] = 1;
// If you uncomment this, `session_unset` works as intended.
session_destroy();
// It doesn't matter if you call unset, it
我试图调用函数session_destroy()并打印一个字符串,但没有成功。我试着遵循这个帖子并重定向到另一个页面,但是我得到了错误
警告: session_destroy():试图销毁未初始化的会话
显然,如果我转到另一个页面,就没有初始化的会话要被销毁。我想我应该使用这样的函数
function restartSession{
session_destroy();
print "SESSION has been destroyed - all session data deleted";
}
使用<form action="<?php