2011-10-20 87 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