将数组保存在会话变量中

时间:2013-07-10 19:53:35

标签: php session

在php4中,以下语法用于在会话中保存值:

<?php
    $userSession[auth] = "ok";
    $userSession[loginid] = $loginId;
    $userSession[firstName] = $firstName;
    $userSession[lastName] = $lastName;          
    session_register("userSession");
?>

我想知道在php5中使用会话的最佳做法是什么。

3 个答案:

答案 0 :(得分:3)

您可以这样做:

$_SESSION['userSession'] = $userSession;

正如@Fallen评论的那样,不要忘记先做session_start()

作为旁注,您应引用用作数组中键的字符串:

$userSession["auth"] = "ok";

答案 1 :(得分:2)

您可能只想考虑将这些元素添加到会话本身,而不是以这种方式将数组加载到会话中:

session_start();
$_SESSION['auth'] = "ok";
$_SESSION['loginid'] = $loginId;
$_SESSION['firstName'] = $firstName;
$_SESSION['lastName'] = $lastName;

答案 2 :(得分:2)

您不应该使用session_register!您可以从$_SESSION读取/写入。

session_start();

$_SESSION['userSession'] = array(
    "auth" => "ok",
    "loginid" => $loginId,
    "firstName" => $firstName,
    "lastName" => $lastName
);