我在複選框中遇到問題。我正在做的是顯示一個複選框列表,如果以前檢查他們會顯示覆選標記,然後您提交他們,另一個PHP應該識別哪些被檢查,哪些不是。我的腳本適用於以前未選中的框,如果您檢查它們的動作php可以識別它,但對於已經檢查過的框,我會得到通知 - 未定義變量 - 對於框(即使未選中/再次檢查)。我似乎無法找到解決辦法。默認選中的複選框在php中未定義
我的代碼是
$ind=0; //counting variable
//generating checkboxes from an xml
foreach($xml as $checkbox)
{
$checks=$xml->checkbox[$ind]->active; //the active tag has a 0 or 1 stored.
echo "Activate ".$ind; // shows activate 0, activate 1, etc...
echo "<form name='checkb' action='show.php' method='post'>
echo "<input type='checkbox' name='checks[]' class='act' value='".$ind."'";
if($checks==0){ echo ">";} else{echo " checked ='checked'>";}
echo "<input type='hidden' name='ind' value=".$ind.">";
$ind=$ind+1;
echo "<input type='submit' name='sub' value='Submit'/> </form>"; }
在我的行動PHP我有
$chks = $_POST['checks'];
$N = count($chks);
echo("Active checkboxes ");
for($i=0; $i < $N; $i++)
{
echo($chks[$i] . " ");}
這一切運作良好,直到我決定,如果箱子已經被先前檢查顯示。所以我想問題是,爲什麼不會將php認出checked = checked爲真實值?或者還有其他方法可以做到這一點嗎? 謝謝!
缺少XML。從你所描述的它只是不在那裏。 – hakre
你確實意識到這個代碼循環遍歷每個複選框,每次創建一個具有相同名稱的新表單。你有沒有試過看看生成的HTML? – jjs9534
@hakre,我沒有包括XML,沒想到這是必要的,因爲代碼的那部分似乎工作,也許我應該包括它? – biobio