使用 !empty 在 php 模板中显示不同的 html/php 代码?

Using !empty to show different html/php code in a php template?

我正在努力做到这一点,如果用户没有在他们的名字框中输入任何内容,模板将自动生成门户网站的标题 "Jack Smith's Portal"。

否则,他们的名字将显示他们在 Portal 中输入的名字。我在那个馅饼中的尝试失败了。

我以前从未做过PHP,这很令人困惑。 :P

我的拙劣尝试根本不起作用:

index.html部分

<form action="template.php" method="post">
<br><p><b>Your first name</b>: 
<input type="text" name="fullname"></p>
<p><b>Your last name</b>: 
<input type="text" name="lastname"></p>
<br>
[etc]
</form>

template.php部分

<title>
    <?php if (!empty($_POST["fullname"]))> 
    Jack Smith's Portal

    <?php else: ?>  

    <?php echo $_POST["fullname"]; ?> <?php echo $_POST["lastname"]; ?>'s Portal 

    <?php endif ?>
</title>

此外,对于 php else 部分,假设我想放置一整块 html 代码,包括多个 php echo $_POST 部分,但都是根据关闭确定的来自 php if !empty 部分的一个 "lastname" - 那会是什么样子。

看来你的逻辑是落后的。如果未提供 $_POST["fullname"],您希望显示默认文本 Jack Smith's Portalempty returns 如果值为空则为真。在你的 if 条件中用 ! 否定它意味着 "If the value is not empty".

尝试:

<?php if ( empty($_POST["fullname"]) ) : ?>

此外,我更正了该行的语法错误,您有:

<?php if (!empty($_POST["fullname"]))> 

您的结束标记应为 ?>,并且您在 if 语句后缺少 :