【问题标题】:How to combine the $_SESSION into one variable in PHP mysqli ?如何在 PHP mysqli 中将 $_SESSION 合并为一个变量?
【发布时间】:2016-10-14 05:02:43
【问题描述】:

通常,我在 mysqli 中使用 single $_SESSION 作为下表中的单个字段,假设我在 users'email' 字段/strong> 表格

$email              = mysqli_real_escape_string($connect,$_POST["email"]);
$_SESSION['email']  =$email;

但它只能使用电子邮件作为会话,对吗?

但是如果我在 users 表中有多个字段,例如 username、password、gender 怎么办?如何将所有 $_SESSION 字段组合/绑定到一个变量中?

$user = $sessions_variable['username']; 

提前谢谢:)

【问题讨论】:

  • 创建一个数据类型为数组的变量。将该变量存储在会话中。

标签: php arrays


【解决方案1】:

$_SESSON 是一个数组。所以你的第一步是read up on arrays in the PHP manual

之后,您将能够为不同的 $_SESSON 元素分配不同的值

$_SESSION['email'] = $email;
$_SESSION['username'] = $username;

或者,从数据库中获取用户信息后,将其分配给单个元素

$_SESSION['user'] = $row;

【讨论】:

    【解决方案2】:

    你可以像这样在会话中创建多维数组

    $_SESSION['user']['username']  =$username;
    $_SESSION['user']['email']  =$email;
    

    然后您可以将整个用户会话数组传递给单个变量。

    $user = $_SESSION['user']; 
    

    【讨论】:

      【解决方案3】:

      我们可以按照以下过程为会话创建多维数组。 示例:

      $_SESSION['foo']['foo_1']  =$foo1;
      $_SESSION['foo']['foo_2']  =$foo2;
      $_SESSION['foo']['foo_3']  =$foo3;
      ...
      

      现在如果我们想在单个变量中使用整个 foo 数组。你必须像这样通过它。

      $foo_whole_session = $_SESSION['foo']; 
      

      您可以使用 print_r($_SESSION) 检查您找到的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多