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';
}