【问题标题】:if isset breaking my php如果 isset 破坏了我的 php
【发布时间】: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


【解决方案1】:
<input type="checkbox" name="lead" value="1" <?php if(isset($_POST['lead'])){echo "checked='checked'";} ?> />Lead Required<br>

尝试使用大括号并检查

【讨论】:

  • 你知道,如果它仅仅因为这个而工作,它仍然是一个问题,因为 OP 的语法是有效的。
  • OP 说对于这个复选框,语法工作得很好。
  • 您遇到的错误可以创建小提琴链接吗?
  • 感谢您尝试@WisdmLabs,但没有骰子。 (无论如何我都试过了——这里有点绝望)
  • 为什么你不学习标记!! — “尝试”和“检查”也不是有效答案!
猜你喜欢
  • 1970-01-01
  • 2013-11-27
  • 2016-12-20
  • 2018-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多