【问题标题】:PHP not displaying correctly in HTMLPHP 在 HTML 中无法正确显示
【发布时间】:2023-03-29 19:11:01
【问题描述】:

我正在尝试创建一个由数组填充的下拉框。当我查看我的代码时,浏览器只会显示部分 php 代码。

这是浏览器显示的内容:

'; foreach ($array as $value) { $html .= '
$value
'; } $html .= ''; return $html; } ?> 

这是我的代码:

<html>
<head>
<title>test</title>
<?php

$cities = array( 'San Francisco', 'San Diego', 'Los Angeles');

function createDropDown($name, $array) {

  $html = '<select name=$name>';

  foreach ($array as $value) {
    $html .= '<option value="$value">$value</option>';
  }
  $html .= '</select>';
  return $html;
}
?>
</head>
<body>
<form>

<?php
createDropDown("cities", $cities);
?>

</form>
</body>
</html>

【问题讨论】:

  • 您确定您的服务器支持 PHP?
  • 未来参考:如果使用双引号,则只能在字符串中嵌入变量。否则,您需要像下面的@AlienWebguy 那样连接。

标签: php html arrays drop-down-menu


【解决方案1】:

您还需要回显您的输出。您构建字符串但从不输出。

<html>
<head>
<title>test</title>
<?php

$cities = array( 'San Francisco', 'San Diego', 'Los Angeles');

function createDropDown($name, $array) {

  $html = '<select name="' . $name . '">';

  foreach ($array as $value) {
    $html .= '<option value="' . $value . '">' . $value . '</option>';
  }
  $html .= '</select>';
  return $html;
}
?>
</head>
<body>
<form>

<?php
echo createDropDown("cities", $cities);
?>

</form>
</body>
</html>

【讨论】:

    【解决方案2】:

    很可能您的服务器未配置为将 .php 文件视为 PHP 脚本,而是将它们作为 html/plaintext 提供。如果您查看发生这种情况的页面的源代码,您可能会获得完整的 PHP 源代码。 &lt;?php 被视为打开的 HTML 标记,直到 foreach 循环之前才会关闭,因此所有中间文本/代码都“隐藏”在 HTML 视图中。

    【讨论】:

      【解决方案3】:

      改变

      $html = '<select name=$name>';
      

      $html = '<select name="' . $name. '">';
      

      改变

      $html .= '<option value="$value">$value</option>';
      

      $html .= '<option value="' . $value . '">' . $value. '</option>';
      

      【讨论】:

        【解决方案4】:

        ' 不解析,但 " 解析。

         $html = "<select name=$name>";
        

        会做的。

        【讨论】:

          猜你喜欢
          • 2015-04-08
          • 2021-02-23
          • 2015-05-09
          • 1970-01-01
          • 2020-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多