如果提交PHP时出错,请在复选框组中选中复选框

时间:2015-03-02 19:31:29

标签: php html checkbox

我有一组复选框,我需要在发生提交错误时检查它们。如果没有选择,它会验证并显示错误,但如果回发则不会保留选中的框。

HTML

<div class="fieldBox">
<div class="label"><p class="bold">Special Needs</p></div>
<div class="field"><?php echo $snMessage; ?>
<input type="checkbox" id="none" value="None" name="sNeeds[None]" <?php   echo(in_array('None',$sNeeds))?'checked="checked"':'';?> /><label for="none">   <span></span>None</label>
<input type="checkbox" id="IEP" value="IEP" name="sNeeds[IEP]" <?php echo(in_array('IEP',$sNeeds))?'checked="checked"':'';?> /><label for="IEP"><span></span>IEP</label>
<input type="checkbox" id="405" value="405" name="sNeeds[405]" <?php echo(in_array('405',$sNeeds))?'checked="checked"':'';?> /><label for="405"><span></span>405</label>
</div>
</div> 

PHP

$sNeeds = array('None', 'IEP', '405');
//Check Special Needs
if(empty($_POST['sNeeds'])) {
    $snMessage .= '<p class="errorClass">Required</p>';
}

我哪里出错了?提前感谢您的时间!

1 个答案:

答案 0 :(得分:0)

// start session in your form page
<?php session_start(); ?>

    <input type="checkbox" id="none" value="None" name="sNeeds[]" <?php   echo(in_array('None',$_SESSION['form_values']))?'checked="checked"':'';?> /><label for="none">   <span></span>None</label>
    <input type="checkbox" id="IEP" value="IEP" name="sNeeds[]" <?php echo(in_array('IEP',$_SESSION['form_values']))?'checked="checked"':'';?> /><label for="IEP"><span></span>IEP</label>
    <input type="checkbox" id="405" value="405" name="sNeeds[]" <?php echo(in_array('405',$_SESSION['form_values']))?'checked="checked"':'';?> /><label for="405"><span></span>405</label>

在你的php代码中保存会话中的$ _POST,验证失败

<?php session_start();

if (validation_fails)
{
  $_SESSION['form_values'] = $_POST['sNeeds'];
  header("location: yourformpage.php");
}