我有一个提交隐藏输入的表单,因此可以将项目添加到购物车中。
为了避免重新提交问题(如果用户刷新页面或从其他页面返回),我的操作如下:
header
重定向到项目页面include ("../cart/functions.php");
if(isset($_REQUEST['command']) && $_POST['add']=='add' && $_POST['itemId']>0)
{
if (array_key_exists($pid, $_SESSION['cart']['itemId']))
{
}
else
{
$pid=$_REQUEST['itemId'];
addtocart($pid,1);
$itemAdded = 1;
$max = 0;
foreach ($_SESSION['cart'] as $item)
{
$max = $max + $item['qty'];
}
}
unset($_POST['add']);
header("Location: http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]);
exit();
}
我的问题是Location
。如何存储项目的URL,以便我可以在cartAdding.php中使用它进行重定向?使用表单提交表单是一种好的做法,如下所示:$_SERVER['PATH_INFO']
?
谢谢!
答案 0 :(得分:2)
您可以使用其网址添加另一个隐藏的输入..
但是不是从其ID中派生的项目的URL?像itemList.php?id=item_id
一样?如果是这样,您已经拥有其ID(在$pid = $_REQUEST['itemId'];
上),因此您可以使用
header('Location: http://'.$_SERVER["HTTP_HOST"].'/itemList.php?id='.$pid);
答案 1 :(得分:0)
您可以通过$ _POST或$ _GET甚至$ _SESSION变量传递此URL或ItemId等。