回答:
HTMLページが次のようになっている場合:
<input type="checkbox" name="test" value="value1">
フォームを送信した後、次の方法で確認できます。
isset($_POST['test'])
または
if ($_POST['test'] == 'value1') ...
on
、チェックされるときにvalueを持つこともできます。したがって、互換性のために使用するだけの方が簡単isset($_POST['checkboxName'])
です。
value1
、チェックボックスがオンの場合です。チェックされていない場合、$_POST['test']
単に存在しません。
Zend Frameworkはチェックボックスに素敵なハックを使用しています。
生成されたすべてのチェックボックスは、同じ名前の非表示フィールドに関連付けられ、チェックボックスの直前に配置され、値は「0」です。次に、チェックボックスの値が「1」の場合、結果のGETまたはPOSTで常に「0」または「1」の値を取得します
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
input[type="checkbox"]
)なのですか?
チェックボックスを配列として使用する場合:
<input type="checkbox" name="food[]" value="Orange">
<input type="checkbox" name="food[]" value="Apple">
あなたは使うべきですin_array()
:
if(in_array('Orange', $_POST['food'])){
echo 'Orange was checked!';
}
次のように、配列が最初に設定されていることを確認してください。
if(isset($_POST['food']) && in_array(...
foreach ($_POST['food'] as $selected_food)
もので動作することは素晴らしいです、ありがとう
チェックボックスのhtmlを次のようにします
<input type="checkbox" name="check1">
次に、フォームを送信した後、次のように確認する必要があります
if (isset($_POST['check1'])) {
// Checkbox is selected
} else {
// Alternate code
}
それcheck1
があなたのチェックボックス名であるべきだと仮定します。そしてあなたのフォーム送信メソッドがそうであるなら、あなたはGET
次の$_GET
ような変数でチェックする必要があります
if (isset($_GET['check1'])) {
// Checkbox is selected
}
$check_value = isset($_POST['my_checkbox_name']) ? 1 : 0;
私はこのトリックを数年使用しており、PHPとデータベースで使用しているときに、チェック済み/未チェックのチェックボックスのステータスに問題なく完全に機能します。
HTMLコード:(ページの追加用)
<input name="status" type="checkbox" value="1" checked>
ヒント:「チェックボックス」をデフォルトでオフにしたい場合は削除します
HTMLコード:(編集ページ用)
<input name="status" type="checkbox" value="1"
<?php if ($row['status'] == 1) { echo "checked='checked'"; } ?>>
PHPコード:(ページの追加/編集に使用)
$status = $_POST['status'];
if ($status == 1) {
$status = 1;
} else {
$status = 0;
}
ヒント:ユーザーがチェックしない限り、常に空の値があります。そのため、それをキャッチするためのPHPコードが既にあるので、値を0に保ちます。次に、データベースの$ status変数を使用します。
チェックボックスがチェックされているかどうかをチェックするには、empty()を使用します
フォームが送信されると、すべてのPOST変数がフォームと共に送信されるため、チェックボックスは常に設定されます。
次のように、チェックボックスが空でチェックされているかどうかを確認します。
//Check if checkbox is checked
if(!empty($_POST['checkbox'])){
#Checkbox selected code
} else {
#Checkbox not selected code
}
isset
変数が使用または設定されたかどうかを確認するためにifステートメントで使用できる組み込みの「関数」について学習します。
例:
if(isset($_POST["testvariabel"]))
{
echo "testvariabel has been set!";
}
さて、上記の例は値を挿入したい場合にのみ機能し、別の列に別の値をUPDATEするのには役立ちません。更新するための小さなトリックを以下に示します。
//EMPTY ALL VALUES TO 0
$queryMU ='UPDATE '.$db->dbprefix().'settings SET menu_news = 0, menu_gallery = 0, menu_events = 0, menu_contact = 0';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
if(!empty($_POST['check_menus'])) {
foreach($_POST['check_menus'] as $checkU) {
try {
//UPDATE only the values checked
$queryMU ='UPDATE '.$db->dbprefix().'settings SET '.$checkU.'= 1';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
} catch(PDOException $e) {
$msg = 'Error: ' . $e->getMessage();}
}
}
<input type="checkbox" value="menu_news" name="check_menus[]" />
<input type="checkbox" value="menu_gallery" name="check_menus[]" />
....
シークレットは、最初にすべてのVALUESを更新するだけです(この場合は0に)。これにより、チェックされた値のみが送信されるため、取得するものはすべて1に設定する必要があるため、取得するものはすべて1に設定します。
例はPHPですが、すべてに適用されます。
楽しんで :)
スイッチ位置を保持する最小限のブールチェック
<?php
$checked = ($_POST['foo'] == ' checked');
?>
<input type="checkbox" name="foo" value=" checked"<?=$_POST['foo']?>>
<?php
if (isset($_POST['add'])) {
$nama = $_POST['name'];
$subscribe = isset($_POST['subscribe']) ? $_POST['subscribe'] : "Not Checked";
echo "Name: {$nama} <br />";
echo "Subscribe: {$subscribe}";
echo "<hr />";
}
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST" >
<input type="text" name="name" /> <br />
<input type="checkbox" name="subscribe" value="news" /> News <br />
<input type="submit" name="add" value="Save" />
</form>
BS3ではあなたが置くことができます
<?php
$checked="hola";
$exenta = $datosOrdenCompra[0]['exenta'];
var_dump($datosOrdenCompra[0]['exenta']);
if(isset($datosOrdenCompra[0]['exenta']) and $datosOrdenCompra[0]['exenta'] == 1){
$checked="on";
}else{
$checked="off";
}
?>
<input type="checkbox" id="exenta" name="exenta" <?php echo $checked;?> > <span class="label-text"> Exenta</span>
の使用方法に注意してくださいisset($datosOrdenCompra[0]['exenta'])
ワードプレスにchecked()
機能があります。リファレンス:https : //developer.wordpress.org/reference/functions/checked/
checked( mixed $checked, mixed $current = true, bool $echo = true )
説明最初の2つの引数を比較し、同じマークがチェックされている場合
パラメータ$ checked(mixed)(必須)比較する値の1つ
$ current(混合)(オプション)(true)trueでない場合に比較する他の値デフォルト値:true
$ echo(bool)(オプション)エコーするか、単に文字列を返すかデフォルト値:true
Return #Return(string)html属性または空の文字列
<?php
if(isset($_POST['nameCheckbox'])){
$_SESSION['fr_nameCheckbox'] = true;
}
?>
<input type="checkbox" name="nameCheckbox"
<?php
if(isset($_SESSION['fr_nameCheckbox'])){
echo 'checked';
unset($_SESSION['fr_nameCheckbox']);
}
?>