【问题标题】:If no session found, don't show PHP and HTML code [closed]如果未找到会话,则不显示 PHP 和 HTML 代码 [关闭]
【发布时间】:2017-12-19 12:05:14
【问题描述】:

我试图弄清楚当用户未登录时如何不显示某些 HTML 和 PHP 代码。

因此,当没有用户登录时,我不想在我的页面上使用此代码:

<div class="overditcadeau_tekst2">
       <!--Als het cadeau niet van de ingelogde gebruiker is laat een button zien dat heet cadeau aanvragen -->
       <div class="cadeau_aanvragen">
  <?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] != $product["user_id"])  : ?>
    <a href="<?php echo base_url() . 'Product/cadeaupagina_ontvangen/'.$product_id.'/'. $user_id;?>"> <button type="button" class="btn btn-primary cw">Ik wil dit cadeau!</button></a>
<?php endif; ?>
</div>

<!--Als het cadeau van de ingelogde gebruiker is laat een button zien dat heet cadeau bewerken-->
<div class="cadeau_bewerken">
        <?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] == $product["user_id"])  : ?>
    <a class="btn btn-primary ca" href="<?php echo base_url() ?>/KdGwController/details_bewerken/<?php echo $product['product_id']; ?>"> Cadeau bewerken </a>
<?php endif; ?>
    </div>
    <br>
    <div class="cadeau_verwijderen">
        <?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] == $product["user_id"])  : ?>
    <a class="btn btn-primary ca" href="<?php echo base_url() ?>/Delete_ctrl/delete_product_id/<?php echo $product['product_id']; ?>"> Cadeau verwijderen </a>
<?php endif; ?>
    </div>

    <!--Als het cadeau van de ingelogde gebruiker is laat aantal geïnteresseerden zien-->
    <div class="aantal_geinteresseerden">
         <?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] == $product["user_id"])  : ?>
    <p>Geïnteresseerden:</p>
<?php endif; ?>
    </div>

<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] != $product["user_id"])  : ?>
     <div class="aangeboden_door">   Aangeboden door:   
<tr>
    <td>
        <a href="<?php echo base_url() . 'User/userdetails/'.$product['user_id']?>">
          <?php echo $userarray['voornaam'];?>
        </a>
    </td>
    </tr>
</div>

<?php endif; ?> 
</div>

我试图把代码放在这个 if isset 函数中:

 <?php if (!isset($_SESSION['user_logged'] = TRUE; )) {

然后在代码下以}结束它

但这不起作用,因为其中有很多 HTML 代码`

感谢任何形式的帮助, 谢谢

【问题讨论】:

  • “但这不起作用,因为其中有很多 HTML 代码”——这不是它不起作用的原因。在 if 语句中放置大量 HTML 是可以的。遵循minimal reproducible example 的指导,找出问题的真正原因。
  • 您能否将print_r($_SESSION); 的结果添加到您的问题中
  • 如果用户使用相同的逻辑,如果不重定向? ci 也有自己的会话处理方式,可能需要考虑使用它,因为这就是框架的用途。

标签: php codeigniter session if-statement codeigniter-3


【解决方案1】:

看来你的会话条件有问题

在代码开头添加这个

<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']== TRUE){ ?>

并在文件末尾带有

<?php } ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多