我正在尝试使用PHP创建一些动态内容,所以我将HTML代码回显到我的网页中.但是,当我尝试插入<?PHP echo htmlspecialchars($_ SERVER [“PHP_SELF”]);?>在表单内的动作标记内,不需要的可见文本会打印到我的页面上,这很可能是由于某种解析错误造成的.
我的例子如下.
echo'<form name="PArtifact" method="post" action="<?PHP echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input name="printArtifactBut" type="submit" value="Print Artifact">
</form>';
上面的代码将生成“>作为可见文本.有人能告诉我在echo中回显htmlspecialchars($_ SERVER [”PHP_SELF“])的正确方法吗?
解决方法:
您已经打开了PHP并且已经在echo表达式中.你只需要concatenate数据:
echo '<form name="PArtifact" method="post" action="' . htmlspecialchars($_SERVER["PHP_SELF"]) . '"></form>';
但正如我在评论中所说,这是不必要的,因为默认情况下表单操作已经是这样.
?>
<form name="PArtifact" method="post" action="<?PHP echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input name="printArtifactBut" type="submit" value="Print Artifact">
</form>
<?PHP