如果有人可以制作更好的标题,请进行编辑。
我遇到的问题是无法在帖子中显示用户名。快速剪切代码。
if (isset($_SESSION['username']) )
{
$name = $_SESSION['username'];
}
else
{
$name = $_POST['name'];
}
如何在用户发布时进行检查,检查是否有会话,然后在帖子中显示其名称。
答案 0 :(得分:2)
你在这里所做的事并没有什么特别的错。 $ _SESSION ['username']实际上是否有值?
另外,在保存或拉取会话数据之前,请确保在使用调用session_start()的会话时。
<?php
session_start();
$_SESSION['username'] = 'Greg';
if (isset($_SESSION['username']) )
{
$name = $_SESSION['username'];
}
答案 1 :(得分:0)
请尝试以下
session_start();
if (isset($_SESSION['username']) )
{
$name = $_SESSION['username'];
}
else
{
$name = $_POST['name'];
$_SESSION['username'] = $name;
}
然后重新加载页面,$ _SESSION ['username']现在应该包含用户名
答案 2 :(得分:0)
Garrett我正确地认为您的路线首先是创建$_SESSION['name']
,除非他们已经登录,否则$_SESSION['name']
变为$_SESSION['username']
如果我是对的并且您在登录时创建了$ _SESSION ['username'],那么您需要检查$_SESSION['name']
= $_SESSION['username']
是否取消设置示例:
// YOUR LOGIN CODE TO CHECK ASSUME SQL QUERY OF SOME DESCRIPTION AND 'true' IS YOUR RESULT and 'false' NOT A USER
if(true) {
$_SESSION['username'] = $result;
if($_SESSION['name'] && $_SESSION['name'] == $_SESSION['username'] ){
unset($_SESSION['name'])
}
// ACTION TO GO TO PAGE
} else {
// YOUR ERROR ACTION
}