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

时间:2014-03-19 15:43:49

标签: php wordpress session redirect plugins

我有一个显示购物车和产品的功能,因此在添加产品后(通过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/但我无法做到这一点。

有什么想法吗?

3 个答案:

答案 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']