如果有人能做出更好的标题,请编辑它。
我遇到的问题是无法在他们的帖子中显示用户名。 快速截取代码。
if (isset($_SESSION['username']) )
{
$name = $_SESSION['username'];
}
else
{
$name = $_POST['name'];
}
当用户发布它时,我该如何做到这一点,检查是否有会话,然后在他们的帖子中显示他们的名字。
你在这里所做的没有什么特别的错误。$_SESSION['用户名'] 真的有价值吗?
此外,请确保在保存或拉取会话数据之前使用调用 session_start(( 的会话。
<?php
session_start();
$_SESSION['username'] = 'Greg';
if (isset($_SESSION['username']) )
{
$name = $_SESSION['username'];
}
请尝试以下操作
session_start();
if (isset($_SESSION['username']) )
{
$name = $_SESSION['username'];
}
else
{
$name = $_POST['name'];
$_SESSION['username'] = $name;
}
然后重新加载页面,$_SESSION['用户名'] 现在应该包含用户名
Garrett,我认为您的路线首先创建$_SESSION['name']
,除非他们已登录,否则无论$_SESSION['name']
变得$_SESSION['username']
如果我是对的,并且您在登录时正在创建 $_SESSION['用户名'],您需要做的就是检查 $_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
}