我有一组复选框,我需要在发生提交错误时检查它们。如果没有选择,它会验证并显示错误,但如果回发则不会保留选中的框。
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>';
}
我哪里出错了?提前感谢您的时间!
答案 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");
}