Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅在用户登录时显示元素?_Php - Fatal编程技术网

Php 如何仅在用户登录时显示元素?

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

我试图仅当用户登录时才显示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_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']的位置吗?我使用会话销毁,但我不认为这是问题所在,谢谢你的回答我使用会话销毁,但我不认为这是问题所在,谢谢你的回答