如何发送多个Get请求

时间:2014-06-17 13:41:15

标签: php

在我的脚本中,我有一个数组,我的服务器上有filelocations。我想发送多个标题/获取到另一个页面,它将删除这些文件。

我的删除页面使用$_GET来确定要删除的文件。

$array1 = array('file1', 'file2', 'file3');

foreach($array1 as $key => $item){
echo '<li><a href="delete_page.php?file='.$item.'">'.$item.'</a></li>';
}

删除文件

$_delete=$_GET['file'];
mysqli_query($connect, "DELETE FROM Doc WHERE file=$file");

如何在没有帖子的情况下发送多个标题,而是使用get? 而不是强迫用户点击所有链接删除项目?

1 个答案:

答案 0 :(得分:3)

您可以使用以下网址传递多个ID:

delete_page.php?files[]=file1&files[]=file2&files[]=file3

用:

生成它
$files = array();
foreach ($array1 as $item){
  $files[] = 'files[]=' . $item;
}
$items = implode('&', $files);
echo '<li><a href="delete_page.php?' . $items . '">delete all</a></li>';

处理:

$_delete = $_GET['files'];
$files = implode(',', $_delete);
mysqli_query($connect, "DELETE FROM Doc WHERE file IN ($files)");

然而,这个简单的解决方案容易受到sql注入。

您应该更好地处理文件ID,并在SQL构建期间,使用

解析所有传递的ID
$_delete = array_map('intval', $_GET['files']);