Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将多个复选框输入的post值分配给PHP变量,并用逗号分隔_Php_Jquery_Html_Forms - Fatal编程技术网

将多个复选框输入的post值分配给PHP变量,并用逗号分隔

将多个复选框输入的post值分配给PHP变量,并用逗号分隔,php,jquery,html,forms,Php,Jquery,Html,Forms,我正在使用PDO、foreach和echo从数据库中生成一些表单输入,本例的输出看起来更精简: <input type="checkbox" value="1" checked>Google <input type="checkbox" value="2">Amazon <input type="checkbox" value="3" checked>Microsoft 请注意,复选框由用户选中,这里使用的数据只是一个示例,我希望表单能够通过用户输入收集正

我正在使用
PDO
foreach
echo
从数据库中生成一些表单输入,本例的输出看起来更精简:

<input type="checkbox" value="1" checked>Google
<input type="checkbox" value="2">Amazon
<input type="checkbox" value="3" checked>Microsoft 

请注意,复选框由用户选中,这里使用的数据只是一个示例,我希望表单能够通过用户输入收集正确的数据

将复选框命名为一个数组,因此当您提交表单时,您将在选中复选框的数组中获得一个复选框值数组,然后您可以使用
逗号分隔的方式内爆该数组

<input type="checkbox" name="checkboxname[]" value="1" checked>Google
<input type="checkbox" name="checkboxname[]" value="2">Amazon
<input type="checkbox" name="checkboxname[]" value="3" checked>Microsoft 
您可以使用jquery: 例如: HTML:

PHP:


在html中使用一个数组,您将在php中拥有一个数组:

<input type="checkbox" name="checkboxname[]" value="1" checked>Google
<input type="checkbox" name="checkboxname[]" value="2">Amazon
<input type="checkbox" name="checkboxname[]" value="3" checked>Microsoft 
$data = implode(",", $_POST['checkboxname']);
echo $data;
<input type="checkbox" value="1">Google
<input type="checkbox" value="2">Amazon
<input type="checkbox" value="3">Microsoft
<button type="submit" id="btn">Submit</button>
$(document).ready(function(){
    $('#btn').on('click',function(){
        var cboxVal = [];

        $('input[type="checkbox"]:checked').each(function(i){       
                cboxVal[i] = $(this).val();
        });

        $.ajax({
            url     : 'insert_data.php',
            method  : 'POST',
            data    : {cval:cboxVal},
            dataType: 'text',
            async   : false,
            success : function(){
                        alert('data inserted!');
            }   
    }); 
});
<?php
if(isset($_POST['cval'])){
    $cval_raw = $_POST['cval'];

    for($i =0; $i<count($cval_raw);$i++){
        $cval = $cval_raw[$i];


        $sql = "INSERT INTO db_name(table_name) VALUES('$cval')" or die('cannot insert');

        $query = mysqli_query($connect,$sql);
    }    
}
?>