$ _ GET变量不能识别第一个数组元素
$ _ GET变量不能识别第一个数组元素:
我已经通过在URL数组,它看起来像这样
但是当我使用print_r($ _GET)打印阵列“products_id”和“cart”时,它只显示我
Array
(
[0] => 432
)
Array
(
[0] => 3
)
现在,你可以看到它的url也包含值“431”为products_id和“3”为购物车 我可以看到,由于字符串“数组”附加到这些他们没有被访问,所以有人可以建议我如何解决这个问题
编辑按菲利克斯审查
for($t=0;$t<4;$t++){
$proid_30 .= "products_id[".$t."]=".$products_id."&";
$bucket_30 .= "cart[".$t."]=".$_SESSION['qty_flex'][$t]."&";
$idproid_30 .= "id[".$t."]=".$products_id."&";
}
$idproid_30.=" ";
$idproid_30 = str_replace("& ","",$idproid_30);
echo "<script>window.location= '/print_ready_form.php?action=buy_now&ft=prf&".$proid_30.$bucket_30.$idproid_30."&osCsid=".$_GET['osCsid']."';</script>";
看起来你echo
数组来创建URL。这不起作用:
$a = array(1,2);
echo $a;
打印
Array
你能证明生成URL的PHP代码?
更新:
没有更多的代码,我只能假设,但我认为$proid_30
,$bucket_30
和$idproid_30
作为阵列初始化。现在,当你追加一个字符串,它们被铸造为字符串:
$a = array(1,2);
$a .= 'test';
echo $a;
打印
Arraytest
使用新的变量来构建URL或将其初始化为字符串:
例如:
$product = '';
$cart = '';
$id = '';
for($t=0;$t<4;$t++){
$product .= "products_id[".$t."]=".$products_id."&";
$cart .= "cart[".$t."]=".$_SESSION['qty_flex'][$t]."&";
$id .= "id[".$t."]=".$products_id."&";
}
你可以在一个变量名中使用“var []” http形式。你需要只使用get方法吗?尝试后
它只显示432
为,因为该链接中唯一的其他products_id被称为Arrayproducts_id
。
您将需要重命名此回=)
除非你想ofcourse打电话Arrayproducts_id。
那是什么问题是我没有通过任何这个键名为“Arrayproducts_id”我想删除这个“数组”字符串中附加的url – 2010-06-23 11:55:32
您是否可以编辑设置此URL的链接? – 2010-06-23 11:57:50
plss查看更新 – 2010-06-23 12:03:09
第一个产品ID被命名为“Arrayproducts_id”。所以你可以打印“Arrayproducts_id”
+1请参阅更新的问题 – 2010-06-23 12:01:09
@OM永恒:可以显示更多的代码?这似乎只是它的一部分,我在那里找不到问题。 – 2010-06-23 12:04:31
这就是问题在哪里费利克斯,因为你说的回声的URL是造成问题..我们正确的是..这是我们必须进行校正的地方,我不知道 – 2010-06-23 12:06:28