我正在处理一个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 (''); } ?>
那么我的问题是什么?提前谢谢。
答案 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,那么在你这样做之前没有用。
根据您的环境,有一些在那里:
本地测试:
我可以从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>