【发布时间】:2015-10-21 10:44:41
【问题描述】:
我正在尝试使用前一页上发布的变量构建 SQL 语句(使用 echo 显示用于在 div 中复制粘贴的 SQL 语句),但是,一个语句阻止了我这样做。
<?php
if (isset($_POST['locationName'])) {
echo $_POST['locationName'];
}
?>
我一输入,页面就拒绝加载。这对我来说没有任何意义,因为我在整个页面中都有类似的代码用于其他输入字段(在提交表单后重新填充它们)。
作为一个例子:这很好用:
<input type="checkbox" name="lead" value="1" <?php if(isset($_POST['lead'])) echo "checked='checked'"; ?> />Lead Required<br>
我一直在尝试更改引用类型,并尝试在 echo 中使用 htmlspecialchars 和 htmlentities,但每次我将 in 语句留在其中时,都会破坏页面。
只要我注释掉 if 语句,页面就会再次加载。
这是 $_POST['locationName'] 值的输入字段:
<input required autofocus type="text" pattern="[a-zA-Z0-9-'\s\!\@\*]+" name="locationName" maxlength="100" size="67" placeholder="Place Name" value="<?php echo isset($_POST['locationName']) ? $_POST['locationName'] : '' ?>" />
【问题讨论】:
-
PHP 错误日志中是否有任何错误?
-
@Barmar:不知道如何查看
-
好吧,我建议你弄清楚。如果您无法查看错误消息,则无法有效地调试脚本。
-
我很清楚,您收到了某种 PHP 错误,但您的 error_display 已禁用。尝试enable 再试一次。
-
哦,看! “PHP 配置”中的“显示错误”已禁用 facepalm 我现在已启用它,我得到:
Parse error: syntax error, unexpected 'if' (T_IF), expecting ',' or ';' on line 359毫无意外。第 359 行是:if (isset($_POST['locationName'])) {
标签: php html if-statement echo