【问题标题】:My session variables are not assigned correctly我的会话变量未正确分配
【发布时间】:2015-10-26 01:58:21
【问题描述】:

我有一个表单,用户可以在其中输入自己的详细信息(包括电子邮件)。数据被存储,然后一个 AUTO_INCREMENT 列为用户分配一个唯一的 ID。

我想将此唯一 ID 用作会话变量,以便跟踪用户在网站上的进度。

这是我目前拥有的,但它不起作用:

$qry = "SELECT * FROM user_responses WHERE email='$email'";

$result = mysqli_query($qry);

$member = mysqli_fetch_assoc($result);

$_SESSION['SESS_USERID'] = $member['userid'];

echo $_SESSION['SESS_USERID'];

session_write_close();

我认为我在 tbl 中选择了一行,其中电子邮件地址与刚刚处理的电子邮件地址相同 $email 是电子邮件文本输入的经过清理的 id。我已经运行它以将其存储到 $result 中。我为它获取数组,然后分配用户 ID。

它不起作用,因为我收到此错误:

( ! ) 注意:未定义变量:C:\wamp\www\bootstrap\instructions.php 第 36 行中的 _SESSION

【问题讨论】:

  • 您开始会话了吗? session_start()
  • 您的代码末尾有session_write_close();。那么我们是否必须假设您的代码顶部有session_start();
  • session_write_close 很少需要
  • 好的,我有 session_start();并将某些内容记录为会话 ID,但它不是我想要的用户 ID。我做错了什么?

标签: php mysql sql session


【解决方案1】:

确保您的 PHP 代码顶部有 session_start();,然后您就可以使用 $_SESSION[]

<?php
    session_start();
    echo $_SESSION['my_session'];
?>

【讨论】:

    猜你喜欢
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多