0

チェックボックスがあるとしましょう

<input style="margin-left:0px;" type="checkbox" value="1" name="disablePause" class="product-options-cbx" <?= $this->oProduct->getDisablePause() == 1 ? 'checked="checked"' : ''; ?> /> Disable Pause

このチェックボックスは、データベースから 1 または 0 の値を取得し、1 の場合はチェックをロードします。エラーが発生しているデータベースに0を渡す代わりに、ユーザーがチェックボックスの選択を解除してからフォームを送信すると、何が起こりますか。私のエラーは値タグ内にあると確信しています。助言がありますか?最終的に、ボックスがチェックされている (1) チェックされていない (0) かどうかに応じて、1 または 0 をやり取りできるようにしたいだけです。

ありがとう!

4

2 に答える 2

0

問題は、設定されていないチェック ボックスが 0 ではなくデータを送信しないことです (つまり、設定されていないチェック ボックスは、存在しないチェック ボックスと同じように動作します)。isset()チェックボックスが設定されているかどうかをテストするには、PHP の関数を使用する必要があります。

<?php
if(isset($_POST['disablePause']))
{
    //the checkbox is set
} else {
    //the checkbox is not set
}
?>

チェックボックスが設定されているかどうかを確認するたびに、これを行います。

于 2013-07-08T17:42:05.957 に答える
0

チェックボックスの値が 0 の場合、実際にはそのパラメーターを「受信」ページに送信しません。単純な 1 または 0 の値を使用している場合は、次を使用して解析ページでリッスンできます。isset()

$disablePause = isset($_REQUEST['disablePause']) ? 1 : 0;

于 2013-07-08T17:42:16.483 に答える