无序列表无法正常显示

时间:2015-09-18 14:44:48

标签: php

我正在处理一个PHP问题,需要我显示我的名字和前十个完美正方形的无序列表。这是我给出的代码:

<html>
<body>
<p>Your Name</p>
<ul>
<li>0</li>
<li>1</li>
<li>4</li>
<li>9</li>
<li>16</li>
<li>25</li>
<li>36</li>
<li>49</li>
<li>64</li>
<li>81</li>
</ul>
</body>
</html>

这是我制作的代码:

<html>
<body>
<?php echo '<p>Your Name</p>'; ?>
<ul>
<?
    for ($i = 0; $i <= 9; $i++) {
        echo ('<li>');
        echo ($i * $i);
        echo ('</li');
    }
?>
</ul>
</body>
</html>

输出是:

你的名字

'; ?>
'); echo ($i * $i); echo (''); } ?>

那么我的问题是什么?提前谢谢。

4 个答案:

答案 0 :(得分:4)

  

你们两个都是对的,但这会让问题变得更糟。 - YoungMogul 17分钟前

我将此评论作为答案,以及更多信息:

我对此的看法是:您可能没有安装Web服务器/ PHP / Apache或未正确配置。或者,您正试图以file:///file.php身份访问它 而不是http://localhost/file.php我非常确定我是对的,或者您没有使用.php扩展或没有指示Apache将.html文件作为PHP处理,如果这应该是案件。

  

我已经确认我将其作为file://file.php访问,但我该如何解决? - YoungMogul 27秒前

使用http://localhost/file.php

  • 通过浏览器访问file:///file.php只能解析原始HTML而不是PHP指令。

  • 哦,除了已经概述的语法错误之外。

没有正确解析PHP ,在PHP安装过程中默认不会。

这就是为什么你被展示&#34;代码&#34;而不是实际解析的指令。

OP:

And the output is:
Your Name
    '; ?>
    '); echo ($i * $i); echo (''); } ?>

但是,如果PHP实际上正在运行并且您启用了短标记,则需要在这些更改生效之前重新启动所有服务。

否则,<?<?php

  • 如果是托管服务,请联系技术支持。
  • 如果在本地计算机上,请检查您的配置。

NOTA:如果没有安装PHP / Apache / Webserver,那么在你这样做之前没有用。

根据您的环境,有一些在那里:

  • LAMP
  • MAMP
  • XAMPP
  • WAMPserver

本地测试:

我可以从HTML源确认以下内容并修复echo ('</li');中的语法错误:

<html>
<body>
<p>Your Name</p><ul>
<li>0</li><li>1</li><li>4</li><li>9</li><li>16</li><li>25</li><li>36</li><li>49</li><li>64</li><li>81</li></ul>
</body>
</html>

使用以下源代码:

<html>
<body>
<?php echo '<p>Your Name</p>'; ?>
<ul>
<?
    for ($i = 0; $i <= 9; $i++) {
        echo ('<li>');
        echo ($i * $i);
        echo ('</li>');
    }
?>
</ul>
</body>
</html>

答案 1 :(得分:1)

您有两个错误。使用<?php代替<?echo ('</li>');代替echo ('</li');

答案 2 :(得分:0)

此错误似乎与您的short_open_tag文件

中的php.ini无关

short_open_tag=On

在php.ini中

重新启动Apache服务器。

OR 更改<? to <?php

<?php
    for ($i = 0; $i <= 9; $i++) {
        echo ('<li>');
        echo ($i * $i);
        echo ('</li>');// change `('</li');` to ` ('</li>');`
    }
?>

答案 3 :(得分:0)

只需将您的php代码重新输入为:

<html>
<body>
<?php echo '<p>Your Name</p>'; ?>
<ul>
<?php
for ($i = 0; $i <= 9; $i++) {
    echo ('<li>');
    echo ($i * $i);
    echo ('</li');
}
?>
</ul>
</body>
</html>