HTML 可以嵌入到 PHP 的“ if”语句中吗?

如果可能的话,我想在 PHP if 语句中嵌入 HTML,因为我认为 HTML 会出现在 PHP if 语句执行之前。

我正在尝试访问数据库中的一个表。我用 HTML 创建了一个下拉菜单,列出了数据库中的所有表,一旦我从下拉菜单中选择了表,我就点击提交按钮。

我使用 isset 函数查看提交按钮是否已被按下,并在 PHP 中运行循环以显示数据库中表的内容。现在我已经有了完整的表,但是我想在这个表上运行更多的查询。因此,我尝试在 if 语句中执行更多的 HTML。最终,我将尝试更新(一行或多行中的1个或多个内容)或删除表中的内容(1个或多个行)。我正在尝试做的是创建另一个下拉菜单,它对应于表中的一列,从而使表搜索更容易,并创建单选按钮,它对应于我是想更新还是删除表中的内容。

261789 次浏览

是的,

<?php if ( $my_name == "someguy" ) { ?>
HTML GOES HERE
<?php } ?>
<?php if($condition) : ?>
<a href="http://yahoo.com">This will only display if $condition is true</a>
<?php endif; ?>

根据请求,这里是 elseif 和 else (也可以在 那些文件中找到)

<?php if($condition) : ?>
<a href="http://yahoo.com">This will only display if $condition is true</a>
<?php elseif($anotherCondition) : ?>
more html
<?php else : ?>
even more html
<?php endif; ?>

就这么简单。

HTML 只有在满足条件时才会显示。

是的。

<?  if($my_name == 'someguy') { ?>
HTML_GOES_HERE
<?  } ?>
<?php if ($my_name == 'aboutme') { ?>
HTML_GOES_HERE
<?php } ?>

使用 PHP close/open 标记并不是一个很好的解决方案,原因有二: 不能用纯 HTML 打印 PHP 变量,这会使代码非常难读(下一个代码块以一个结束括号 }开始,但读者不知道之前是什么)。

更好的方法是使用 < strong > herdoc 语法,它与其他语言(比如 bash)的概念相同。

 <?php
if ($condition) {
echo <<< END_OF_TEXT
<b>lots of html</b> <i>$variable</i>
lots of text...
many lines possible, with any indentation, until the closing delimiter...
END_OF_TEXT;
}
?>

END_OF_TEXT是您的分隔符(它基本上可以是任何文本,如 EOF,EOT)。PHP 将两者之间的任何内容都视为字符串,就好像它是双引号一样,因此可以打印变量,但不必转义任何引号,所以打印 html 属性非常方便。

请注意,结束分隔符必须从行首开始,分号必须紧跟其后,不能有其他字符(END_OF_TEXT;)。

具有单引号字符串行为(')的 Heredoc 称为 现在,博士。Now doc 内部不执行解析。您使用它的方式与 herdoc 相同,只是将开始的分隔符放在单引号中 -echo <<< 'END_OF_TEXT'

因此,如果条件等于您想要的值,那么 php 文档将运行“ include” Include 将把该文档添加到当前窗口 例如:

`

<?php
$isARequest = true;
if ($isARequest){include('request.html');}/*So because $isARequest is true then it will include request.html but if its not a request then it will insert isNotARequest;*/
else if (!$isARequest) {include('isNotARequest.html')}
?>

`

我知道这是一篇老文章,但我真的很讨厌这里只有一个答案建议不要混合 html 和 php。应该使用模板系统,或者自己创建一个基本的模板系统,而不是混合内容。

在菲律宾

<?php
$var1 = 'Alice'; $var2 = 'apples'; $var3 = 'lunch'; $var4 = 'Bob';


if ($var1 == 'Alice') {
$html = file_get_contents('/path/to/file.html'); //get the html template
$template_placeholders = array('##variable1##', '##variable2##', '##variable3##', '##variable4##'); // variable placeholders inside the template
$template_replace_variables = array($var1, $var2, $var3, $var4); // the variables to pass to the template
$html_output = str_replace($template_placeholders, $template_replace_variables, $html); // replace the placeholders with the actual variable values.
}


echo $html_output;
?>

在 html (/path/to/file.html)中

<p>##variable1## ate ##variable2## for ##variable3## with ##variable4##.</p>

这样做的结果将是:

Alice ate apples for lunch with Bob.