2013-03-06 78 views
1

我有一个表单提交隐藏输入,以便可以将项目添加到购物车。将当前URL提交到页面,稍后将重定向到相同的URL

为了避免重新提交的问题(如果用户刷新页面或从另一个页面按下后)我这样做如下:

  • 项目页面的形式,并提交
  • cartAdding.php接收价值并将物品添加到购物车。然后,我把一个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']

谢谢!

回答

2

您可以添加另一个隐藏输入其网址..

但没有该项目的URL从ID派生?像itemList.php?id=item_id?如果是这样,你已经有它的id(在$pid = $_REQUEST['itemId'];),所以你可以重定向到,与

header('Location: http://'.$_SERVER["HTTP_HOST"].'/itemList.php?id='.$pid); 
0

您可以通过$ URL或$ _GET或甚至$ _SESSION变量传递此URL或ItemId或其他内容。

相关问题