使用GET后无法重定向到上一页

I have a function that is displaying a shopping cart and products, and so after a product is added (which happens via GET) I want it to return to regular domain.

This is the code that updates the cart:

$page = $_SERVER['PHP_SELF'];

// if the product is added to the cart
if (isset($_GET['add'])) {
    $_SESSION['cart_'.$_GET['add']]++;
    header('Location: '.$page);
    // echo 'added';
}

Right now the cart is displayed on my homepage, which is http://localhost/tester/ , and after a product is added the url becomes http://localhost/tester/?add=1, but then I want it to revert back to http://localhost/tester/ but I cannot get it to do that.

Any ideas?

How about using parse_url()

exit(header('Location: '.parse_url($_SERVER['PHP_SELF'],PHP_URL_PATH)));

The problem lies with $_SERVER['PHP_SELF']; returning EVERYTHING after the script name. I don't understand why you can't enter in the script name. If you really need that particular method of grabbing the script name, you might try to use __FILE__ instead of $_SERVER['PHP_SELF'].

Try exploading the URL by "?" and than use the first part for redirect:

$page = $_SERVER['PHP_SELF'];

// if the product is added to the cart
if (isset($_GET['add'])) {
    $_SESSION['cart_'.$_GET['add']]++;
    $parts = explode("?", $page);
    header('Location: '. $page[0]);
    // echo 'added';
}