【问题标题】:Parse error in echo with php [closed]用php解析echo中的错误[关闭]
【发布时间】:2014-06-03 04:06:56
【问题描述】:

错误只是说Parse error: parse error in a line,也就是下面代码中的checkbox那一行:

<?php if ($_SESSION['something']=='1'){
echo '<tr>
<td>
'.$lang['FORM_LABEL_Users_disable'].'
</td>
<td>
<input type="checkbox" '.(if($row['active'] == "0"){echo 'checked = "yes"';}).' name="disable" value="0" ><br>
</td>
</tr>';
}
?>

【问题讨论】:

  • 你不能像这样在echo 中包含if 语句。
  • 我明白了,那我该怎么办?

标签: php echo


【解决方案1】:

或者,您可以在 echo 中插入三元运算。考虑这个例子:

<?php if($_SESSION['something']=='1') {
echo '<tr>
        <td>'.$lang['FORM_LABEL_Users_disable'].'</td>
        <td>
            <input type="checkbox" '.(($row['active'] == "0") ? 'checked=checked' : '').' name="disable" value="0" ><br>
        </td>
    </tr>';
} ?>

注意:您需要使用正确的属性:checked="checked" 或只是 checked

【讨论】:

    【解决方案2】:

    首先,你不能像你所做的那样在 echo 中使用 if 语句。而且你必须正确地转义你的字符串。所以你可以尝试如下

    <?php if ($_SESSION['something']=='1'){
    $chkd = '';
    if($row["active"] == "0"){
    $chkd = 'checked = "yes"';
    }
    echo '<tr>
    <td>
    '.$lang["FORM_LABEL_Users_disable"].'
    </td>
    <td>
    <input type="checkbox" '.$chkd.' name="disable" value="0" ><br>
    </td>
    </tr>';
    }
    ?>
    

    【讨论】:

    • 谢谢,这对我有用。
    • 不客气@Annie...快乐编码:-)
    • 你也是。您可以在 2 分钟内输入这么多代码,令人印象深刻。
    • 这就是我们使用Cntrl + cCntrl + vCntrl + A等的原因...哈哈..;-)
    • 哈哈顺便问一下你每天的工作是什么?高科技程序员?
    【解决方案3】:
    <?php if ($_SESSION['something']=='1'){
    echo '<tr>
    <td>
    '.$lang['FORM_LABEL_Users_disable'].'
    </td>
    <td>
    <input type="checkbox" '.($row['active'] == "0"?'checked = "yes"':'').' name="disable" value="0"><br>
    </td>
    </tr>';
    }
    ?>
    

    【讨论】:

    • @웃웃웃웃웃 是的,他有。 *她
    • 我的错误..我没有看到编辑..
    猜你喜欢
    • 2011-10-01
    • 2017-12-13
    • 2010-11-18
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多