2015-03-25 71 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 
} 

?> 
相關問題