我遇到了会话变量的问题。
我有一个简单的注册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,它只是echos $ _SESSION ['avurl']并且它第一次没有显示任何东西,但它第二次出现。
我从中发现的是,一旦它回应了这个会话变量,它就会开始存储该值。
我用来设置该变量的所有代码都只是编辑: -
session_start();
$_SESSION['avurl'] = $filename;
因为这也没有用,我认为这可能是现有会话的问题。
三江源 希望这是解决我问题的足够信息!!
答案 0 :(得分:1)
session_start();
session_unset();
此代码删除您的会话...为什么要这样做?