source

PHP에서 체크박스를 켜면 어떻게 읽나요?

itover 2023. 1. 25. 08:34
반응형

PHP에서 체크박스를 켜면 어떻게 읽나요?

PHP에서 체크박스를 켜면 어떻게 읽나요?

HTML 페이지가 다음과 같은 경우:

<input type="checkbox" name="test" value="value1">

양식을 제출한 후 다음을 통해 확인할 수 있습니다.

isset($_POST['test'])

또는

if ($_POST['test'] == 'value1') ...

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" 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(...

체크박스의 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와 Database를 사용하는 동안 체크박스의 체크/체크박스의 체크박스가 온/오프 상태가 되어도 문제없이 동작합니다.

HTML 코드: (페이지 추가용)

<input name="status" type="checkbox" value="1" checked>

: 삭제: 삭제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
}

폼의 액션에 따라 $_POST 또는 $_GET 배열 중 하나에서 해당 값이 설정되고 비어 있지 않은지 확인할 수 있습니다.

": "를 폼 name★★★★★★★★★★★★★★★★★★★<input type="checkbox" name="test"> , , 을합니다.

if(isset($_POST['test']) {
   // The checkbox was enabled...

}

★★★에 대해서isset되었는지 또는 하기 위해 할 수 있는 입니다.

예:

    if(isset($_POST["testvariabel"]))
     {
       echo "testvariabel has been set!";
     }

위의 예는 값을 삽입하는 경우에만 사용할 수 있으며, 다른 값을 다른 열에 업데이트하는 경우에는 유용하지 않습니다. 따라서 다음과 같이 업데이트해야 합니다.


//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[]" />

....

비밀은 처음에 모든 값을 갱신하는 것(이 경우는 0으로)입니다.는 체크된 값만 송신하기 때문에 취득되는 모든 값은 1로 설정되므로 취득되는 모든 값은 1로 설정됩니다.

예를 들어 PHP이지만 모든 것에 적용됩니다.

즐거운 시간 보내세요:)

다음과 같은 경우 쇼트 기능을 사용할 수 있습니다.

$check_value = isset($_POST['my_checkbox_name']) ? 1 : 0;

또는 새로운 PHP7을 사용하여Null coalescing operator

$check_value = $_POST['my_checkbox_name'] ?? 0;
$is_checked = isset($_POST['your_checkbox_name']) &&
              $_POST['your_checkbox_name'] == 'on';

단락 평가는 사용자가 액세스하지 않도록 주의합니다.your_checkbox_name제출되지 않았을 때.

스위치 위치를 유지하는 최소한의 부울 점검

<?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>
<form>
<input type="check" id=chk1 value="1">
<input type="check" id=chk2 value="1">
<input type="check" id=chk3 value="1">
</form>

chk2에서 확인하면 다음과 같은 값을 볼 수 있습니다.

<?php
foreach($_POST as $key=>$value)
{
    if(isset($key))
        $$key=strip_tags($value);
}
insert into table (chk1,chk2,chk3) values ('','1','');
?>

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 )

설명 처음 두 인수를 비교하고 동일한 마크가 선택되어 있는 경우

파라미터 $checked(혼합)(필수) 비교할 값 중 하나

$current (혼합)(옵션)(true)true뿐만 아니라 비교할 다른 값 기본값: true

$echo (부울) (옵션)문자열을 에코할지 또는 반환할지 여부 기본값: true

반환 #Return(문자열) html 속성 또는 빈 문자열

체크박스가 있는 PHP 폼으로 수정했습니다.

$categories = get_cat(['cat' => 'product_cat', 'hide_empty' => false]), $echo "< input type ="catselected _ > term _ id" name =" catselectories " ] ; }

이렇게 해서 Woocommerce tabel에 추가합니다.wp_set_post_terms($product_id, $_POST['catselected'), 'product_cat');

FILTER_input(INPUT_POST, '체크박스_name', FILTER_DEFAULT, FILTER_FORCE_ARRAY)

<?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']);
} 

?>

입력에 이름을 붙여야 합니다.그러면 어떤 상자를 클릭하면 선택 방법으로 'ON'이 표시됩니다.

Array
(
    [shch] => on
    [foch] => on
    [ins_id] => #
    [ins_start] => شروع گفتگو
    [ins_time] => ما معمولاً در چند دقیقه پاسخ میدهیم
    [ins_sound] => https://.../media/sounds/ding-sound-effect_2.mp3
    [ins_message] => سلام % به کمک نیاز دارید؟
    [clickgen] => 
)

내 양식 이름에 'shch'와 'foch'가 있는 두 개의 체크박스가 있습니다.

언급URL : https://stackoverflow.com/questions/4554758/how-to-read-if-a-checkbox-is-checked-in-php

반응형