如何使用php获取多个复选框的值

时间:2014-07-15 05:06:49

标签: php html

我有以下代码属于一个表单,我试图获取复选框的值。问题是它之前有效,但现在我回来为我的程序添加更多功能,我得到以下错误:

注意:未定义的索引:第3行的C:\ xampp \ htdocs \ Dropbox \ SportsMedia \ proj2final \ tw.php中的twitter

<input class="twGroup" type="checkbox" name="twitter[]" value="x0" />
<input class="twGroup" type="checkbox" name="twitter[]" value="x1"/>
<input class="twGroup" type="checkbox" name="twitter[]" value="x2"/>


<?php
require_once('db.php');
$selected = $_POST['twitter'];
$img = $_POST['picLink'];
$comments = $_POST['postContent'];
$link = $_POST['postLink'];

foreach ($selected as $key => $value) {

    $values = queryTWTable($value);

请任何人帮助我

6 个答案:

答案 0 :(得分:1)

试试这个......您需要使用foreach循环输出您的选项,如下所示

<?php
require_once('db.php');
$selected = $_POST['twitter'];
$img = $_POST['picLink'];
$comments = $_POST['postContent'];
$link = $_POST['postLink'];

foreach ($selected as $twitter){
echo $twitter."<br />";//displays your checkbox selections

}
?>

答案 1 :(得分:1)

<form method="post" action="index.php">
<input  type="checkbox" name="twitter[]" value="x0" /> X0
<input  type="checkbox" name="twitter[]" value="x1"/> X1
<input  type="checkbox" name="twitter[]" value="x2"/> X2
<input  type="submit" name="Submit" value="Check">
</form>
<?php
if(isset($_POST['submit']) && isset($_POST['twitter'])) {
    $selectedItems = $_POST['twitter'];   
    foreach($selectedItems as $key => $value) {
        print_r($value);
    }  
}
?>

答案 2 :(得分:0)

使用isset()函数,

<?php
require_once('db.php');
if(isset($_POST['submit'])) //submit button name
{
    $selected = $_POST['twitter'];
    foreach ($selected as $key => $value) {
        // your code here
    }
}
?>

答案 3 :(得分:0)

<input class="twGroup" type="checkbox" name="twitter[]" value="x0" />PHP<br />
<input class="twGroup" type="checkbox" name="twitter[]" value="x1" />HTML<br />
<input class="twGroup" type="checkbox" name="twitter[]" value="x2" />Java<br />

<input type="submit" value="submit" />

<?php
require_once('db.php');

$img = $_POST['picLink'];
$comments = $_POST['postContent'];
$link = $_POST['postLink'];

if ( isset($_POST['twitter']) ){
    foreach($_POST['twitter'] as $value)
    {
        $values = queryTWTable($value);
    }
}

答案 4 :(得分:0)

您将把它作为一系列项目获得。

<?php
$all_checkboxes = $_POST['twitter'];

foreach($all_checkboxes as $check){
    echo $check."<br>";
    # or do whatever here....
}

?>

答案 5 :(得分:0)

您正在接收未定义的索引通知,因为未声明$ _POST数组的索引'twitter'(假设表单正在使用post)。如果表单使用get,则twitter数组将初始化为$ _GET的索引。正如其他答案所示,检查是否使用php isset方法

设置了该索引
<?php
If(isset ($_POST ['twitter'] )) {
    // your code here
}
?>