わかりました、いくつか問題があります..
まず、php タグを頻繁に開いたり閉じたりしないようにしてください。HTML をエコー バックするだけです。PHP に頻繁に出入りすると、パフォーマンスの問題が発生します。
したがって、最初に、ここでフォームを設定する必要があります。フォームは 2 番目のページを指す必要があります (または isset 関数を使用して自己処理しますが、わかりやすくするために前者のソリューションを使用しましょう)。2 番目のページは、ユーザーがチェックした内容に基づいて、DB にダンプする内容です。
フォームの HTML は次のとおりです。
<form action="database.php" method="POST">
<div>
<label for="checkbox1">This is the first option:</label>
<input type="checkbox" id="checkbox1" name="checkbox1" />
</div>
<div>
<label for="checkbox2">This is the second option:</label>
<input type="checkbox" id="checkbox2" name="checkbox2" />
</div>
<div>
<input type="submit" />
</div>
</form>
繰り返しますが、これを foreach ループにエコー バックすることをお勧めします。短い関数でこれを実現できます。
したがって、誰かが「送信」ボタンを押すと、2 番目のページ (database.php と呼んでいます) に移動し、オプションが POST 配列に格納されます。DB エントリを処理するときは、常に GET ではなく POST を使用することをお勧めします。
したがって、このページでは、どのチェックボックスが選択されているかを確認し、必要に応じてデータベースを更新します。
if (isset($_POST['checkbox1']))
{
// user ticked checkbox1
$sql = "UPDATE table
SET 'checkbox1' = 1
WHERE 'user' = 'username';"
mysqli_query($sql);
}
これは大まかな解決策であることに注意してください-これをどのように行っているかを正確に教えてくれなかったので、DBがユーザーの投票などに関連付けられていると想定しています。値を増やしてcheckbox1を更新することもできます..など.
お役に立てれば。