PHP会话第一次没有注册

时间:2012-05-07 11:52:53

标签: php session time set

我遇到了会话变量的问题。

我有一个简单的注册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;

因为这也没有用,我认为这可能是现有会话的问题。

三江源 希望这是解决我问题的足够信息!!

1 个答案:

答案 0 :(得分:1)

session_start();
session_unset();

此代码删除您的会话...为什么要这样做?