使用php解析echo中的错误

时间:2014-06-03 04:06:56

标签: php echo

错误只是说Parse错误:解析一行中的错误,这是下面代码中的复选框行:

<?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>';
}
?>

3 个答案:

答案 0 :(得分:2)

或者,您可以在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

答案 1 :(得分:2)

首先你不能在回声中使用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>';
}
?>

答案 2 :(得分:0)

<?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>';
}
?>