有条件地显示 HTML,而不将其包装在 PHP echo 语句中

Exp*_*ens 2 html php

我有一段代码来生成用户的个人资料,如下所示:

<?php
    if($user_isbanned) {
        echo 'User is banned.';
        exit(1);
    }
?>
<!-- Content to show if the user is not banned -->
Run Code Online (Sandbox Code Playgroud)

这适用于我想要它做的事情(如果用户的帐户被禁止,则停止显示个人资料),但是如果我要在页面底部添加页脚,它就不会出现在被禁止的用户的页面上,因为exit() 语句中止生成页面的其余部分。我可以重新格式化我的代码,如下所示:

<?php
    if($user_isbanned) {
        echo 'User is banned.';
    } else {
        // Content to show if the user is not banned
    }
?>
Run Code Online (Sandbox Code Playgroud)

这将使我的页脚出现,无论用户是否被禁止,但我不想将整个页面包装在一个大的 PHP echo 语句中。如果 PHP 条件满足或不满足,是否有办法阻止出现某个 HTML 块,而不将整个页面放入 echo 语句中?

Vic*_*ico 5

你可以做的是这样的:

<html>
<head>

</head>
<body>
    <div id="header"></div>

    <?php if($user_isbanned){ ?>
        <div id="content-banned"></div>
    <?php } else { ?>
        <div id="content-not-banned"></div>
    <?php } ?>

    <div id="footer"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

当用户被禁止时,只需呈现不同类型的内容。