提取$ _POST数据

时间:2013-02-19 00:11:53

标签: php ajax arrays post

我正在开发一个项目,我使用jquery / ajax从所选复选框中检索名称和值。我在主页面上使用php设置了复选框的名称和值。我想在单独的php脚本中使用$ _POST提取名称,以便我可以使用这些名称从MySQL中删除项目。

$("#deleteproject").click(function () {
    var names = [];
    $('#projectcheckbox input:checked').each(function() {
        //all checkbox names are put in array
        names.push({name: $(this).attr('name'), value: $(this).val()});
    });
    alert($.param(names));
    return false;
});

上述警报($。param)以val1.name和val1.value格式返回所选复选框。

//run delete_project.php to erase projects from database
$.ajax({
    type: "post",
    url:"delete_project.php",
    data: names,
    cache: false,
    success:function() {
        alert(names + ' deleted')
    }
});

我已经在最后的情侣日寻找答案,我很感激帮助解决这个问题。

1 个答案:

答案 0 :(得分:3)

我希望首先以这种方式使用html部分,因为在你的情况下它更灵活,更容易;

<input type="checkbox" name="projectcheckbox[]" value="foo_project" />
<input type="checkbox" name="projectcheckbox[]" value="bar_project" />
...

或者首先打印出db结果;

foreach ($projects as $project) {
   print '<input type="checkbox" name="projectcheckbox[]" value="'.$project.'" />';
}

然后调用jQuery.serialize会给你一些数据,比如;

projectcheckbox[]=foo_project&projectcheckbox[]=bar_project ...

PHP部分(发布后);

foreach ((array) $_POST['projectcheckbox'] as $pro) {
   // do something with $pro = foo_project or bar_project etc...
   // THIS PART FOR SECURITY GUYS :)
   // BUT! DO NOT FORGET TO SECURE YOUR DATA ($pro) HERE!!!!!
}