如何使用来自PHP输入表单的GET请求发送数组?

时间:2018-09-13 01:53:53

标签: javascript php jquery html5

我正在从数据库中检索数据,并且正在使用GET请求将数据发送到页面以删除数据。现在,我想发送一个包含多个tr的数组来删除数据,我想使用GET请求而不是POST请求来执行此操作。

请帮助!

谢谢

4 个答案:

答案 0 :(得分:0)

您可以使用','分隔参数,并使用下面的代码获取数组。

$id_string = $_GET['id'];
$id_array = explode(',', $id_string);

答案 1 :(得分:0)

将表单输入转换为数组info[item1], info[item2], info[item3]..

示例:

 <form action="process.php" method="GET">
        input 1<br>
        <input type="text" name="info[item1]"><br>
        input 2<br>
        <input type="text" name="info[item2]"><br>
        input 3<br>
        <input type="text" name="info[item3]"><br>
        <br>
        <input type="submit" value="Submit">
  </form>

获取PHP中的表单输入:

<?php

//Do not use $_GET to access superglobal $_GET Array Directly.
//Use filter_input_array() function.

$request = filter_input_array(INPUT_GET);

//Get form inputs of array 'info'
$input = $request['info'];

//Get form input value
foreach ($input as $key=>$value) 
{
   echo "<p>{$key}=>{$value}</p>";  
}

输出:

item1=> 1   // Input value to delete.

item2=> 2   // Input value to delete.

item3=>3    // Input value to delete.

答案 2 :(得分:0)

假设您具有数组$ data形式的数据

<?php

$ data = array(1,2,3,4,5,6);

?>

<form action="test.php" method="GET">


   <input type="hidden" name="data" value="<?php print base64_encode(serialize($data)); ?>"><br>

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



</form>

提交表单后,它将创建一个带有带有您的数组编码值的querystring的url。 我们可以在test.php页面上获取该值,并使用该值根据您的数据(从URL获取)删除行。

<?php

$str_var = $_GET["data"];
$array_var = unserialize(base64_decode($str_var));
foreach($array_var as $id)

{

echo $id;


$server=mysqli_connect('localhost','root','');
$re=mysqli_query($server,"DELETE FROM `table` WHERE id=$id");

}

?>

答案 3 :(得分:-1)

尝试将您的数据ID作为字符串传递,并以逗号分隔,例如:

https://your.url.here/?ids=1,3,5,7,8

,服务器将逗号分隔以检索值。

例如:

var url_string = "http://www.example.com/t.html?ids=1,2,3,4,5"; 
var url = new URL(url_string);
console.log(url.searchParams.get("ids").split(','));

希望这会有所帮助:)