将当前URL提交到稍后将重定向到同一URL的页面

时间:2013-03-06 15:17:13

标签: php url redirect submit

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

为了避免重新提交问题(如果用户刷新页面或从其他页面返回),我的操作如下:

  • 项目页面包含表格并提交
  • 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 个答案:

答案 0 :(得分:2)

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

但是不是从其ID中派生的项目的URL?像itemList.php?id=item_id一样?如果是这样,您已经拥有其ID(在$pid = $_REQUEST['itemId'];上),因此您可以使用

重定向到该ID
header('Location: http://'.$_SERVER["HTTP_HOST"].'/itemList.php?id='.$pid);

答案 1 :(得分:0)

您可以通过$ _POST或$ _GET甚至$ _SESSION变量传递此URL或ItemId等。

相关问题