チェックボックスに問題があります。私がやっていることは、チェックボックスのリストを表示することです。以前にチェックした場合はチェックマークが表示され、それらを送信すると、別のphpがチェックされたものとされていないものを認識する必要があります。私のスクリプトは、以前にチェックされていなかったボックスをチェックすると正常に動作します.アクションPHPはそれを認識しますが、すでにチェックされているボックスの場合は、ボックスのNotice - undefined variable -を取得します(チェックを外したり、再度チェックしたりしても)。私は本当にこれを回避する方法を見つけることができないようです。
私のコードは
$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 を真の値として認識しないのはなぜですか? または、これを行う他の方法はありますか?ありがとう!