PHP var_dump($_SESSION);

3
我正在处理一个项目,$_SESSION['username'] 没有输出。我使用了 var_dump 函数,以下是输出结果。请问我该如何解决这个问题?
    array(4) {
 ["SESS_ID"]=> string(1) "2"
 ["SESS_FIRST_NAME"]=> string(7) "Kevin"
 ["SESS_LAST_NAME"]=> string(6) "Outerbridge"
 ["username"]=> string(0) "" } 

我对var_dump不是很熟悉,所以不确定这是否在您的论坛中。我会重新查看所有已发布的内容。


变量存在且其值为空字符串。如何修复空字符串? - undefined
展示你正在使用的代码来设置和获取值,一个常见的问题是在从会话全局变量中设置和获取任何内容之前没有调用session_start()函数。 - user557846
如果这个数组是一只在兽医那里的狗,我会说它已经被“修复”了... - undefined
Stack Overflow 不是一个论坛。 - undefined
6个回答

8

PHP的var_dump()函数在处理$_SESSIONS变量时通常会始终显示null。

您可以使用:

 Print_r ($_SESSION);

希望这能有所帮助,祝你愉快。


谢谢,刚刚浪费了一个小时。 - undefined

7

"修复"什么?

$_SESSION['username']的值为"",即空字符串。

如果这不是您想要的,请采取任何必要措施以避免发生这种情况。

很抱歉,这似乎是一个无用的回答,但实际上这是一个无用的问题。


所有的字符串都作为值存储在我的数据库中,但是当我调用它来在文件中使用时,却没有任何输出。在不产生结果的那一行代码中,我的代码是 $username = $_SESSION['username']; 我不确定为什么它显示为空字符串。 - undefined
@user807419:这是一个变量。它包含你放在里面的任何内容。如果放入其他东西,它将包含其他内容。 - undefined

2

$_SESSION['username']没有输出

看起来可能输出了空值,因为如果你查看数组:

["username"]=> string(0) ""

包含空值


是的,你说得对,但我猜我们差不多同时提交了回复。 - undefined
好的,抱歉(我做了35:35你36:36,我想SO ajax警告了你) - undefined
AJAX警告并非总是即时的,也不需要用户查看。 - undefined

1

您的SESSION变量存在,但是它是空的。您正在使用空字符串填充该变量。


我该如何修复这个问题,因为用户名在我的表中有一个值。 - undefined
我在即将出现空白的那行代码中有一段代码。$username = $_SESSION['username']; - undefined
但是$_SESSION['username']在哪里被填充的呢? - undefined
我正在尝试将它添加到另一个表中,该表中也有用户名,所有其他值都已添加到数据库中,但由于某种原因,这个值是唯一为空的。我在两个表中都有用户名,我需要从一个表中获取并在调用时将其发布到另一个表中。ID没有任何问题。 - undefined

1
你开始了会话吗?
session_start();

0
在这种情况下,如果有人需要答案。根据我的经验,使用 $_SESSION 全局变量时,如果您通过打开浏览器的另一个实例从表单的原始页面导航,您不会自动获取相同的 $_SESSION,因此变量为空。使用表单的 'action' 属性导航到处理页面,以便您拥有带有会话变量的活动会话。还要确保每个页面都有 session_start()。在开发过程中,这很容易被误解。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接