开发者

PHP: Remove URL Param?

I have a function that I call with ?clear-cart appended to the end of my page; as you can probably guess, this function clears the user's cart.

I call it like this

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

Which works great (i开发者_JAVA百科n that it loads the same page, but now the cart is cleared), except that the URL in the address bar now reads

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

Is there anyway to call ?clear-cart but have the URL return without the parameter? (Hide it from the user, since I'm only using it for an internal function call??)


Instead of a GET-request use a POST-request?


You could clear the cart and then immediately redirect using header (obviously before any output!).

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

See the PHP reference manual for more details.


Something along the lines of this should do what you want:

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

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

}

Modify to suit your needs.


You can write your cart clearing code in another script and have it redirect back to your page when it's done.


Well, in the function that clears the cart, you could redirect the user to the correct URL, using the header() function.


Have the page http://test.local/cart link to the page http://test.local/cart?clear-cart, which then redirects the user back to http://test.local/cart.

/cart -> /cart?clear-cart -> /cart

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
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜