Php 如何仅在用户登录时显示元素?
我试图仅当用户登录时才显示div,因此仅当Php 如何仅在用户登录时显示元素?,php,Php,我试图仅当用户登录时才显示div,因此仅当$\u SESSION['MM\u Username']存在并且等于某个值时才显示div,因此为了实现这一点,我编写了以下代码。会话变量已设置,我知道它们存在,但当我注销时,仍会看到div: <ul id="example-1" class="sticklr" style="list-style:none;display:<?php if ($_SESSION['MM_Username']=='' & $_SESSION['MM_Us
$\u SESSION['MM\u Username']
存在并且等于某个值时才显示div,因此为了实现这一点,我编写了以下代码。会话变量已设置,我知道它们存在,但当我注销时,仍会看到div:
<ul id="example-1" class="sticklr" style="list-style:none;display:<?php if ($_SESSION['MM_Username']=='' & $_SESSION['MM_Username']==NULL){echo('none');}?>">
您在注销时是否使用session\u destroy
或unset($\u session['MM\u Username'])
我认为这可以帮助您。您在注销时使用session\u destroy
还是unset($\u session['MM\u Username'))
我想这会对你有所帮助。我会用不同的方式来处理这个问题。如果会话变量不为空,我将只显示
。也许是这样的:
<?php if( !is_null($_SESSION['MM_Username']) ): ?>
<ul id="example-1" class="sticklr" style="list-style:none;">
<!-- ... -->
</ul>
<?php endif ?>
我会以不同的方式处理这个问题。如果会话变量不为空,我将只显示
。也许是这样的:
<?php if( !is_null($_SESSION['MM_Username']) ): ?>
<ul id="example-1" class="sticklr" style="list-style:none;">
<!-- ... -->
</ul>
<?php endif ?>
在脚本开头将测试条件设置为变量:
$isLoggedIn=isset($_SESSION['MM_Username'])代码>
然后,只需将标记包装在if中:
<?php if (isLoggedIn) { ?>
<ul></ul>
<?php } ?>
在脚本开头将测试条件设置为变量:
$isLoggedIn=isset($_SESSION['MM_Username'])代码>
然后,只需将标记包装在if中:
<?php if (isLoggedIn) { ?>
<ul></ul>
<?php } ?>
几个问题:
1.您应该为if语句使用| |(OR)运算符(这可能是问题的根源,因为if语句将始终返回false…某些内容不能同时为空字符串和null)
2.如果此块包含任何类型的安全信息,则应将其全部删除,而不是仅使用css将其隐藏。有几个问题:
1.您应该为if语句使用| |(OR)运算符(这可能是问题的根源,因为if语句将始终返回false…某些内容不能同时为空字符串和null)
2.如果此块包含任何类型的安全信息,则应将其全部删除,而不是仅使用css将其隐藏。要检查PHP中是否设置了变量,可以使用isset()
函数:
<?php
//this checks to see if the variable isset and not null, if it is not set or is null then echo 'none';
if (!isset($_SESSION['MM_Username']) || empty($_SESSION['MM_Username'])){
echo 'none';
}
?>
empty()
检查是否存在与变量关联的值:
如果已使用unset()取消设置变量,则将不再设置该变量。
如果测试已设置为的变量,则isset()将返回FALSE
无效的还请注意,空字节(“\0”)并不等同于PHP
空常量
资料来源:
isset()
的一个很酷的地方是,当您询问变量是否设置为未设置时,它不会抛出错误或警告消息。要检查变量是否在PHP中设置,可以使用isset()
函数:
<?php
//this checks to see if the variable isset and not null, if it is not set or is null then echo 'none';
if (!isset($_SESSION['MM_Username']) || empty($_SESSION['MM_Username'])){
echo 'none';
}
?>
empty()
检查是否存在与变量关联的值:
如果已使用unset()取消设置变量,则将不再设置该变量。
如果测试已设置为的变量,则isset()将返回FALSE
无效的还请注意,空字节(“\0”)并不等同于PHP
空常量
资料来源:
isset()
的一个很酷的地方是,当您询问是否设置了未设置的变量时,它不会抛出错误或警告消息。在用户登录成功后,使用布尔值“True”注册会话
例如:$\u会话['userLogin']=TRUE
您可以将元素显示为以下内容:
<ul id="example-1" class="sticklr" style="<?php if($_SESSION['userLogin']) echo 'display:block;'; else 'display:none;'?>">
用户登录成功后,使用布尔值“True”注册会话
例如:$\u会话['userLogin']=TRUE
您可以将元素显示为以下内容:
<ul id="example-1" class="sticklr" style="<?php if($_SESSION['userLogin']) echo 'display:block;'; else 'display:none;'?>">
首先,你为什么要用&而不是| |?首先,你为什么要用&而不是| |?var isLoggedIn
不是Javascript吗@玛尔西奥哈哈,哎呀!修复了PHP语法。这也适用于我的要求,谢谢,我认为这与下面的答案相同var isLoggedIn
不是Javascript吗@玛尔西奥哈哈,哎呀!修复了PHP语法。这也适用于我的要求,谢谢,我认为这与下面的答案是一样的谢谢你的建议它不包含敏感信息,但要记住我不应该用CST隐藏敏感信息谢谢你的建议它不包含敏感信息,但要记住我不应该用cssiam隐藏敏感信息很好,对不起,我是一个noob,所以我没有真的知道在同一页或登录页上设置$U会话['userLogin']的位置吗?很抱歉,我是一个noob,所以我真的不知道在同一页或登录页上设置$U会话['userLogin']的位置吗?我使用会话销毁,但我不认为这是问题所在,谢谢你的回答我使用会话销毁,但我不认为这是问题所在,谢谢你的回答