2015-03-25 312 views
-1

我有表格,这里是复选框,如何将值从复选框传递给PHP?例如:如果复选框被选中,则通过1,如果未选中0HTML。如何将复选框值传递给php?

我使用的是以下几点:

<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> 
+1

5答案和OP中没有任何词; *好的*。 – 2015-03-25 13:54:57

+0

对不起,迟到的回复,我有很大的问题,无法检查答案。 Upvoted所有谁回答正确并被接受为正确答案。再次抱歉,感谢所有帮助过的人! – 2015-03-27 11:59:39

回答

6

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

只是测试,像这样:?

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

你可以尝试这样的事:

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

你可以使用这样

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

>

这是你问什么?

1

在PHP中,复选框输入将被设置在$_POST数组中,否则它们将不会被设置。选中复选框将被设置,取消选中复选框不会。

如果更改复选框的1值,以便$_POST['letter']1

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

然后,如果你需要保存到$letter变量,如果它不检查一个0,

$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"> 
2

当复选框被提交,我们可以在PHP提交表单

后获得的复选框值GetFbId.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"> 

GET复选框值的形式检查后

<?php 

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

?>