PHP:删除URL Param?

时间:2009-11-21 16:13:20

标签: php url parameters

我有一个功能,我调用?clear-cart附加到页面末尾;正如你可能猜到的,这个功能清除了用户的购物车。

我称之为

<a href="?clear-cart">Clear Cart</a>

哪个效果很好(因为它加载了相同的页面,但现在购物车已清除),但地址栏中的URL现在显示为

http://test.local/cart?clear-cart

是否仍然可以致电?clear-cart,但网址返回 而不 参数? (将其隐藏在用户之外,因为我只是将它用于内部函数调用?)

6 个答案:

答案 0 :(得分:4)

而不是GET请求使用POST请求?

答案 1 :(得分:3)

您可以清除购物车,然后立即使用标题重定向(显然在任何输出之前!)。

<?php
    header('Location: http://test.local/cart');
    ... clear the cart ...
?>

有关详细信息,请参阅PHP reference manual

答案 2 :(得分:1)

根据这一点,你应该做你想做的事情:

if (isset($_GET['clear-cart'])) {

  clear_cart();
  header('Location: http://test.local/');

}

根据您的需要进行修改。

答案 3 :(得分:0)

您可以在另一个脚本中编写购物车清算代码,并在完成后将其重定向回您的页面。

答案 4 :(得分:0)

好吧,在清除购物车的功能中,您可以使用header()函数将用户重定向到正确的URL。

答案 5 :(得分:0)

将页面http://test.local/cart链接到页面http://test.local/cart?clear-cart,然后将用户重定向回http://test.local/cart

  

/ cart - &gt; / cart?clear-cart - &gt; /购物车

if (isset($_GET['clear-cart'])) {
  // Do some cart clearing...
  // Redirect back
  header('Location: /cart');
  exit;   // Very important, otherwise the script will continue until it finally redirects
}