通过PHP标头重定向发送数组

时间:2015-04-15 08:14:36

标签: php arrays redirect

基本上我需要一些帮助通过PHP中的重定向发送数组信息。我有以下代码:

Page1:我创建了查询字符串并将其发送到第2页,我可以在第2页的$ _GET中获取数据。

    $qstr = http_build_query(
        array(
            'products_array' => $products,
            'quantity' => $_POST['quantity']
        )
    );

    header('Location: registration.php?' . $qstr);

第2/3页我从$ _server获取查询字符串并将其与重定向页面连接

header('Location: login.php?' . $_SERVER['QUERY_STRING']);

我可以使用普通的href链接发送数据,但如果我尝试像上面那样发送数据,我就无法通过第2页检索数据。

如果你能就这个问题给我一些意见,那确实会有所帮助。

感谢。

编辑: 回显$ qtystr给出:

products_array%5B0%5D%5Bitem%5D = HTTP%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F61Y-rF9tF8L SL1100 .JPG&安培; products_array%5B0%图5D%5Bbrand%5D =火龙&安培; products_array%5B0%5D%5Bprice%5D = 25&安培; products_array%5B1%5D%5Bitem%5D = HTTP%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F61vgC3GDI2L。 SL1100 .JPG&安培; products_array%5B1%5D%5Bbrand%5D =小水龟&安培; products_array%5B1%5D%5Bprice%5D = 15&安培; products_array%5B2%5D%5Bitem%5D = HTTP%3A%2F %2Fecx.images-amazon.com%2Fimages%2FI%2F51TnHKT4oML SY300 .JPG&安培; products_array%5B2%5D%5Bbrand%5D =妙蛙种子&安培; products_array%5B2%5D%5Bprice%5D = 10&安培; products_array%5B3%5D%5Bitem%5D = HTTP%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F41MpzoPshAL SX300 .JPG&安培; products_array%5B3%5D%5Bbrand%5D = Chikorita&安培; products_array%5B3%5D%5Bprice%5D = 20&安培; products_array%5B4%5D%5Bitem%5D = HTTP%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51BIJR%252BIqDL SX355 .JPG&安培; products_array%5B4%5D%5Bbrand%5D =水跃鱼&安培; products_array %5B4%5D%5Bprice%5D = 20&安培;量%5B0%5D = 0&安培;量%5B1%5D = 0&安培;量%5B2%5D = 0&安培;量%5B3%5D = 03&安培;量%5B4%5D = 0

这是一个传递一个字符串的愚蠢信息(只是测试一下),对不起,但它是我需要的两个数组的所有信息。

EDIT2:

我设法修复它,我没有给你们足够的信息抱歉。问题实际上是我没有设置我的页面的表单操作来保存数据字符串,所以它在处理表单时不断丢失。感谢您的所有建议,我一定会在下次尝试,尤其是会议。

1 个答案:

答案 0 :(得分:1)

仅使用PHP 编码数据

$products = "some product";
$qtd = 1;
$array = array('products_array' => $products, 'quantity' => $qtd);
$json_str = json_encode($array);
echo $json_str;
header('Location: registration.php?' . $qstr);

解码数据

$data = json_decode($post_data); //to decode the string into an object
echo $data->products_array . "\r\n";
echo $data->quantity . "\r\n";