PHP代码不显示用户名
我的PHP代码不会显示用户的用户名 它只显示“Hello”,然后为空。我试图PHP代码不显示用户名,php,Php,我的PHP代码不会显示用户的用户名 它只显示“Hello”,然后为空。我试图打印($\u会话),但仍然不起作用 提前谢谢 <?php session_start(); if(!isset($_SESSION['user'] ['user']) && empty($_SESSION['user'])) { echo '<a href="/login"><b>Log In</b></a>'; } else {
打印($\u会话)
,但仍然不起作用
提前谢谢
<?php
session_start();
if(!isset($_SESSION['user'] ['user']) && empty($_SESSION['user'])) {
echo '<a href="/login"><b>Log In</b></a>';
}
else {
echo "Hello, " . htmlspecialchars($_SESSION['username'], ENT_QUOTES, 'UTF-8');
echo '</br></b>';
echo '<a href="/login/logout.php"><b>Log Out</b></a>';
}
?>
看起来您的用户数据存储在
$\u会话['user']
,因为您引用了在$\u会话['user']['user']
中设置的任何内容。我怀疑要检索用户名,您实际上需要类似于$\u SESSION['user']['username']
可能的解决方案
我怀疑该错误可能是访问$\u会话数组时的输入错误
当您修复此bug时,让我们避免使用htmlspecialchars
函数
<?php
session_start();
if(!isset($_SESSION['user']) && empty($_SESSION['user'])) {
echo '<a href="/login"><b>Log In</b></a>';
}
else {
echo "Hello, " . $_SESSION['user'];
echo '</br></b>';
echo '<a href="/login/logout.php"><b>Log Out</b></a>';
}
?>
";
回音“”;
回声';
}
?>
下次在浏览器中加载网页时,它将不会显示Hello
它将显示
$\u会话['user']
!!!!!当您看到这一点时,请将其提供给我们,以编辑您的问题或作为对此答案的回答
帮助!$\u会话中没有任何内容/输出为空 啊哈,我的朋友。那么,您没有在代码中的任何地方为
$\u会话['user']
设置值
请记住一点。上次你这样做是在哪里:
你能在你首先设置用户名的地方添加代码吗?什么是var\u dump($\u SESSION)
打印出来的?你的代码引用$\u SESSION['user']['user']
,$\u SESSION['user']
和$\u SESSION['username']
?打印($\u SESSION)的输出是什么
?嗨,print\r($\u SESSION)也有同样的功能吗?我一直在使用这段代码,它确实可以工作,但我无法让它与上面的代码一起工作:你好,秘密内容!@user2925945
print\r($\u SESSION)
是用来调试会话的内容,而不是“让它工作”
<?php
session_start();
if(!isset($_SESSION['user']) && empty($_SESSION['user'])) {
echo '<a href="/login"><b>Log In</b></a>';
}
else {
echo "This is the value inside of session variable: <br><pre>";
print_r($_SESSION['user']);
echo "</pre>";
echo '</br></b>';
echo '<a href="/login/logout.php"><b>Log Out</b></a>';
}
?>
<?php
session_start();
...
$_SESSION['user'] = $someUserValueOrUserName;