1

我有一个提交隐藏输入的表单,因此可以将项目添加到购物车。

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

  • 项目页面有表格并提交
  • 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']

谢谢!

4

2 回答 2

2

您可以使用其 URL 添加另一个隐藏输入。

但是项目的 URL 不是从它的 id 派生的吗?喜欢itemList.php?id=item_id?如果是这样,你已经有了它的 id (on $pid = $_REQUEST['itemId'];),所以你可以重定向到那个,用

header('Location: http://'.$_SERVER["HTTP_HOST"].'/itemList.php?id='.$pid);
于 2013-03-06T15:25:23.003 回答
0

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

于 2013-03-06T15:24:48.037 回答