2009-11-21 116 views
1

我有一個函數,我打電話?clear-cart追加到我的頁面的末尾;正如你可能猜到的那樣,這個函數會清除用戶的購物車。PHP:刪除URL參數?

我這樣稱呼它

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

除了在地址欄中的URL現在讀取

http://test.local/cart?clear-cart 
偉大的工程(在加載相同的頁面,但是現在車被清除),

請問有沒有辦法打電話給?clear-cart但是有網址返回沒有參數? (隱藏它的用戶,因爲我只使用它的內部函數調用??)

回答

3

你可以清理購物車,然後立即使用標題重定向(顯然在任何輸出之前!)。

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

查看PHP reference manual瞭解更多詳情。

+0

謝謝!這很好。 – neezer 2009-11-21 16:23:16

+0

@neezer:不要忘記'header()之後的die()'。 – chelmertz 2009-11-21 16:56:21

+0

在這種情況下,我認爲exit()會更合適。 – Don 2009-11-21 19:12:51

4

而不是一個GET請求使用POST請求?

+0

我明白我不能使用帶有''超鏈接POST請求。 – neezer 2009-11-21 18:36:26

+0

@neezer,在onclick事件方法中有一點javascript,任何事情都是可能的。 – Don 2009-11-21 19:11:30

0

您可以在另一個腳本中編寫購物車清除代碼,並在完成後將其重定向回您的頁面。

0

那麼,在清除購物車的功能中,您可以使用header()函數將用戶重定向到正確的URL。

1

沿東西這行應該做你想要什麼:

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

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

} 

修改,以滿足您的需求。