2015-03-02 20 views
1

我有一組複選框,當提交錯誤發生時我需要保持它們的選中狀態。如果沒有進行選擇,它會驗證並顯示一個錯誤,但如果回發則不會保留選中的框。如果在提交時出現錯誤,在複選框組中保留一個複選框PHP

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

的PHP是 – RyanIndustries8 2015-03-03 20:32:42

回答

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"); 
} 
+0

我應該提到,並沒有想到它,直到您的評論的外部PHP頁面,但PHP在外部頁面中。 – RyanIndustries8 2015-03-03 20:32:23

+0

@KyleandJenniferByron請檢查更新的答案 – 2015-03-03 20:39:38

相關問題