首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >isset( $_SESSION )显示$_SESSION名称

isset( $_SESSION )显示$_SESSION名称
EN

Stack Overflow用户
提问于 2012-05-22 14:28:17
回答 3查看 2K关注 0票数 0

如果有人可以做一个更好的标题,请编辑它。

我遇到的问题是无法在他们的帖子中显示用户名。代码的快速片段。

代码语言:javascript
复制
if (isset($_SESSION['username']) )
{ 
$name = $_SESSION['username'];
}
else 
{
$name = $_POST['name']; 
}

当用户发表帖子时,我如何才能检查是否有会话,然后在帖子中显示他们的名字。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-22 14:36:59

您在这里所做的并没有什么特别的错误。$_SESSION‘’username‘是否真的有值?

此外,确保在使用会话时,在保存或提取会话数据之前调用session_start()。

代码语言:javascript
复制
    <?php
    session_start();

    $_SESSION['username'] = 'Greg';

    if (isset($_SESSION['username']) )
    { 
    $name = $_SESSION['username'];
    }
票数 2
EN

Stack Overflow用户

发布于 2012-05-22 14:41:55

请尝试以下操作

代码语言:javascript
复制
session_start();

if (isset($_SESSION['username']) )
{ 
    $name = $_SESSION['username'];
}
else 
{
    $name = $_POST['name']; 
    $_SESSION['username'] = $name;
}

然后重新加载页面,$_SESSION‘’username‘现在应该包含用户名

票数 0
EN

Stack Overflow用户

发布于 2012-05-22 14:43:51

Garrett我是否正确地认为您的路由是先创建$_SESSION['name'],除非他们已经登录,否则$_SESSION['name']将变为$_SESSION['username']

如果我是对的,并且您在登录时创建了$_SESSION‘’username‘,那么您需要做的就是检查$_SESSION['name']是否为$_SESSION['username'],如果设置为unset,则将其取消。例如:

代码语言:javascript
复制
// 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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10696821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档