我对会话变量有疑问。
我有一个简单的注册 php 页面,它使用 ajax 调用来验证用户名和电子邮件地址(如果它们已经存在)。它还有一个 ajax 图像上传器,可以预览所选图像。
现在这就是我设置会话变量的方式:-
session_start();
session_unset();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
session_start();
$_SESSION['avurl'] = $filename;
$filename 是有效的,因为它在上面的代码中就在这个片段之后回显。
在我需要使用此会话变量的页面中,我有这个:-
session_start();
$av_url = $_SESSION['avurl'];
现在奇怪的是,每当它第一次运行时,会话变量没有任何值。但是第二次就可以了。
我如何检查这一点是我创建了一个 test.php ,它只是回显 $_SESSION['avurl'] 并且第一次它从不显示任何东西,但它第二次显示。
我从中得出的结论是,一旦它回显了这个会话变量,它就会开始存储该值。
我用来设置该变量的所有代码都是从以下内容编辑的:-
session_start();
$_SESSION['avurl'] = $filename;
对此,因为这也不起作用,我认为这可能是现有会话的问题。
谢谢你希望这是解决我的问题的足够信息!