2015-04-01 45 views
0

我有兩個菜單,我希望每個菜單都能夠附加URL並堆疊這些附加內容。這是通過PHP和HTML單獨實現的嗎?通過href添加URL - 在同一頁面上多次添加一次

因此,舉例來說,當用戶點擊第一菜單中進行選擇,則URL將用「?變量=例如」和鏈接追加會是什麼樣子:

<a href="?variable=example"> 

但我想用戶也可以從第二個菜單中選擇一些東西,並且如果它是用戶的第二選擇,則添加「?variable2 = example2」或「& variable2 = example2」。如果我在第二個菜單「& variable2 = example2」中創建鏈接,它會附加到不是我想要的基礎URL。

棘手的部分是我希望用戶能夠從任一菜單啓動。這可以做到沒有Javascript?

+1

我不認爲這可以在純HTML中完成。根據原始網址,HTML無法以不同的方式進行操作,這需要編程。 – Barmar 2015-04-01 17:09:43

+0

_「當用戶點擊第一個菜單中的一個選項時,該url將會附加」?variable = example「,並且該鏈接看起來像:」_:你需要JS這個 – CodeGodie 2015-04-01 17:09:45

+0

我寫了一個小的URL操作圖書館](https://gist.github.com/JaxoDI/e066638ba1e76642e2c9)一會兒回來,它可以做到這一點。你會想使用'url.setParam(「variable」,「example」)' – Scott 2015-04-01 18:53:16

回答

0

雖然我非常確定你可以在普通的PHP中做到這一點,但它會是一個艱難而愚蠢的過程。這是JavaScript真正意義上的任務,但如果您確實想通過PHP來做到這一點,那麼您可能必須將URL存儲在cookie中。讓你的菜單分別讀入,然後修改該cookie,然後執行POST請求。最大的問題是每個菜單都必須刷新頁面,因爲您必須讀取cookie,然後在每次更改URL時重寫cookie。 PHP並不真正維護「狀態」或「內存」,PHP只是發送和接收請求。

雖然您可以在PHP中執行所有典型的編程操作,但問題仍然是維護PHP請求之間的狀態。

對於與服務器無關且半實時的任何事情,您確實應該使用JavaScript,因爲這是正確的應用程序(AJAX會更好)。 PHP真的應該留給與服務器連接。

+0

'在PHP請求之間保留數據的唯一方法是通過URL或Cookie。這個錯誤,你可以使用會話/ memcache/..來存儲請求的狀態 – DarkBee 2015-04-01 18:53:11

+0

你是對的,我會相應地編輯我的迴應。 – 2015-04-01 18:57:11

+0

謝謝Addison的解釋。我只是在這裏弄溼了,這有助於我理解PHP和JS的最佳用法。我感謝您的幫助。感謝DarkBee的澄清! – 2015-04-02 17:13:10