2011-10-20 64 views
0

我有一個博客,我希望用戶點擊一個鏈接,以便能夠反轉顏色方案(從黑暗中的燈光到黑暗中的燈光)。該鏈接將在博客的每個頁面上提供。

如果我不使用CodeIgniter,我會創建一個帶參數的鏈接(例如「index.php?inverted = true」),並在我的控制器中檢測是否設置了$ _GET ['inverted'],設置一個$ _SESSION變量。當設置$ _SESSION時,鏈接將被更改並添加額外的CSS文件。該鏈接的新href將會像「index.php?inverted = false」,並且$ _SESSION變量將被取消設置。它將在整個網站上工作,而不管URI的其他部分如何。我試過在CodeIgniter中使用uri_segement函數,但是因爲這需要跨越整個站點,所以我的URI改變了(有時候只是「index.php/controller/function」,其他時間「index.php/controller /功能/ PARA1/PARA2/para3" 各個)。因此,我不能只是建立我的鏈接:[href =「$ _ SESSION ['REQUEST_URI']。」/ inverted「],然後檢測該URI段是否存在,因爲我不知道段」倒置「另外,如果一個用戶在同一個頁面上並且點擊了兩次鏈接,那麼這個URI會不斷地加入「/ inverted」。知道這是不是好的做法。

有什麼建議?

回答

0

使鏈路通過POST提交表單,你所描述的,然後設置會話變量,在此之後,問題重定向到引用頁(HTTP_REFERER) 。你可以做類似的事情來關閉這個選項。

+0

HTTP_REFERER並不是很好的解決方案,因爲引用者是由瀏覽器發送的並且可以禁用。 – Fabian