HTML。如何将复选框值传递给 php?

HTML. How to pass check box value to php?

我有表格,这里是复选框,如何将值从复选框传递到 PHP?例如:如果复选框被选中通过1,如果没有被选中0.

我正在使用以下内容:

<input type="checkbox" name="letter" value="letter" id="letter" checked="checked">

这是我的表格:

  <form class="form"  method="post" action="GetFbId.php">
    <h2>Registration</h2><hr/>
    <label>First Name: </label>
    <input type="text" name="first_name" id="first_name" required>

    <label>Last Name: </label>
    <input type="text" name="last_name" id="last_name" required>

    <label>City: </label>
    <input type="text" name="city" id="city" required>

    <label>Email: </label>
    <input type="text" name="email" id="email" required><br>

    Accept to get letters 
    <input type="checkbox" name="letter" value="letter" id="letter" checked="checked">

    <input type="submit" name="register" id="register" value="Register">
  </form>

你能试试这样吗:

<?php
    if(isset($_REQUEST['letter']) && $_REQUEST['letter']=="letter"){
       $letter = $_POST['letter']; // check box value
    }
?>

你可以这样使用

<?
if(isset($_POST['register']))
{
   // other code
   $checkboxval= $_POST['letter']; //if checked 1 if not 0
}        
?>

$_POST['letter'] 当且仅当在表单提交期间选中复选框时才会设置。

就这样测试:

<?php
if(isset($_POST['letter']))
{
    // $_POST['letter'] is set, checkbox has been checked.
}
<?php
if(isset($_POST['letter'])){
   $letter = true;
}else{
   $letter = false;
}

?>

这是你要的吗?

在 PHP 中,复选框输入要么设置在 $_POST 数组中,要么不设置。选中的复选框将被设置,未选中的复选框不会。

如果您将复选框的值更改为 1,则 $_POST['letter'] 将是 1

<input type="checkbox" name="letter" value="1" id="letter">

然后,如果您需要将 0 保存到 $letter 变量中(如果未选中),

$letter = isset($_POST['letter']) ? $_POST['letter'] : 0;

另一种选择是在前端执行此操作,将值 0 或 1 保存到隐藏输入中,并在 PHP 端检查 $_POST['letter'] 的值,因为它总是有一个值

<input type="hidden" value="0" name="letter" id="letter">
<input type="checkbox" name="select_letter" value="1" id="select_letter"
     onchange="document.getElementById('letter').value = this.checked ? 1 : 0">

当提交表单后选中复选框时,我们可以在php

中获取复选框值
 <form class="form"  method="post" action="GetFbId.php">
<h2>Registration</h2><hr/>
<label>First Name: </label>
<input type="text" name="first_name" id="first_name" required>

<label>Last Name: </label>
<input type="text" name="last_name" id="last_name" required>

<label>City: </label>
<input type="text" name="city" id="city" required>

<label>Email: </label>
<input type="text" name="email" id="email" required><br>

Accept to get letters 
<input type="checkbox" name="letter" value="letter" id="letter" checked="checked">

<input type="submit" name="register" id="register" value="Register">

提交表单后在GetFbId.php中获取复选框值

<?php

//get post value
if(isset($_POST['letter']))
{
    echo $letter =  $_POST['letter']; //get check box value
}

?>