我有一个显示购物车和产品的功能,因此在添加产品后(通过GET
发生)我希望它返回常规域。
这是更新购物车的代码:
$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';
}
现在购物车显示在我的主页上,http://localhost/tester/
,在添加产品后,网址变为http://localhost/tester/?add=1
,但我希望它还原为http://localhost/tester/
但我无法做到这一点。
有什么想法吗?
答案 0 :(得分:1)
尝试通过"?"而不是使用第一部分进行重定向:
$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';
}
答案 1 :(得分:0)
如何使用parse_url()
exit(header('Location: '.parse_url($_SERVER['PHP_SELF'],PHP_URL_PATH)));
答案 2 :(得分:0)
问题在于$_SERVER['PHP_SELF'];
在脚本名称后返回所有内容。我不明白为什么你不能输入脚本名称。如果您确实需要抓取脚本名称的特定方法,则可以尝试使用__FILE__
而不是$_SERVER['PHP_SELF']
。