0

最終的にデータベース内のフォーラムにユーザーをサブスクライブするチェックボックスを備えたフォームを作成しようとしています。

このコードを使用して、現在のユーザーの購読/非購読フォーラムのリストを動的に作成します。

//$checkboxes = array();
echo' <form  action="" method="post">';

while($unsubscrlist = mysql_fetch_assoc($sublist))
{
   //$checkboxes[] = $unsubscrlist['Name'];
    echo '<input type="checkbox" checked="checked"  name="subscrform[]" 
    value="' .$unsubscrlist['Name']. '  "/>' .$unsubscrlist['Name']. '   <br />';
}

while($subscrlist = mysql_fetch_assoc($notsublist))
{
   // $checkboxes[] = $subscrlist['Name'];
    echo '<input type="checkbox"  name"subscrform[]" 
    value="' .$subscrlist['Name']. '"/>' .$subscrlist['Name']. '<br />';
}

echo '<br />
<input type="submit" value="Submit" />
</form>';

次に、どのチェックボックスがチェックされているかを判断するために、次のコードを使用します。

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
  if(isset($_POST['subscrform'])) 
{
 //echo 'getshereeee';
    foreach($_POST['subscrform'] as $value)
    {
    //echo 'getshereeee';
            echo $value;

     }

}

ユーザーが既にサブスクライブしている最初のチェックボックスは、このコードによって値として出力されますが、チェックされたチェックボックスの2番目のリストは、どういうわけか値として出力されることはありません..

これは、同じ名前を 2 回使用したことと関係があるのではないかと考えました。そのため、最初のリストを unsubscrform に変更し、両方に対してチェック ループ ループを実行しましたが、出力値として最初のリストのみを取得します。

シンプルなものが欠けているように感じますが、実際には何がわかりません。あなたの助けに感謝します!

4

1 に答える 1

0

問題の解決策を見つけました!

変更することによって

echo' <form  action="" method="post">';

echo' <form name="subscrform" action="" method="post">';
于 2013-03-23T11:49:24.473 に答える