关于隐藏输入的简单PHP问题

时间:2013-10-31 19:34:04

标签: php forms input hidden

我想在选择数字1并在数据库中加载时隐藏表单的字段。

代码没有错误,但字段在数字0和1处保持可见。

不知怎的,我无法做对。它尝试了以下内容;

<?php
$query3 = mysql_query("SELECT `status`, `authcode` FROM `auth` ORDER BY `status` ASC LIMIT 1");
while($row3 = mysql_fetch_object($query3)){
?>
<tr>
<td><b>Authcode:</b></td>
<td>
<input name="authcode" type="text" value="<?= $row->authcode; ?>" <?php if($row->status == 0) ?> />
<input name="authcode2" type="hidden" value="<?= $row->authcode; ?>" <?php if($row->status == 1) ?> />
</td>
</tr>

3 个答案:

答案 0 :(得分:2)

您需要将if 包围在您想要条件化的输出上:

<?php if ($row3->status == 0) { ?>
    <input name="authcode" type="text" value="<?= $row3->authcode; ?>" />
<?php }
if ($row3->status == 1) { ?>
    <input name="authcode2" type="hidden" value="<?= $row3->authcode; ?>" />
<?php } ?>

答案 1 :(得分:0)

您必须在if语句之前添加:

<?php if ($row->status == 1) ?>
     <input name="authcode2" type="hidden" value="<?= $row->authcode; ?>"/>

答案 2 :(得分:0)

同意Bamar和Pablo。

如果您只想要隐藏字段一次(row-&gt; status == 1),您可以使用以下内容更精确:

<input name="authcode" type="<?php echo (($row->status == 1)?'hidden':'text') ?>" value="<?php echo $row->authcode; ?>" />

干杯。