2012-05-06 52 views
1

我想讓用戶通過點擊一個按鈕來更改我的網站主題顏色。目前我將css指針保存到url上。但是當跳轉到其他頁面時,css指針從新頁面的url中消失,因此主題顏色恢復爲默認值。如何讓每個網頁記住當前選定的CSS?我可以將css指針保存到php會話嗎?怎麼做?如何在php會話中保存css樣式表指針?

代碼:

<html> 
<head> 
    <link rel="stylesheet" href="css/theme-<?php if ($css=="blue" || $css == "") echo "blue"; else echo $css; ?>.css" type="text/css" media="screen" title="csstheme" /> 
    <?php require_once("session.php"); ?>  
</head> 
    <body> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=blue" ><img src="http://plekz.com/images/layouts/blue.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=green" ><img src="http://plekz.com/images/layouts/green.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=pink" ><img src="http://plekz.com/images/layouts/pink.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=white" ><img src="http://plekz.com/images/layouts/white.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=red" ><img src="http://plekz.com/images/layouts/red.jpg" /></a>  
    </body> 
</html> 

回答

2

是,該會議將是把它的好地方:

您可以創建一個稱爲設置主題會議文件。例如,通過QueryString將所選主題傳遞給該文件。然後將用戶返回到他們來自的頁面。

這是未經測試,但這樣的事情:

if (isset($_GET["theme"])) 
{ 
    session_start(); 
    $_SESSION["theme"] = $_GET["theme"]; 
} 

header('Location: ' . $_SERVER['HTTP_REFERER']); 

你可以在一個開關 - 投擲或if語句爲好,以確保主題會話只可以設置爲一對夫婦預定義的值。

然後你在每個頁面上閱讀會話。如果主題變量已設置,則使用該主題,否則將回退到默認主題。

爲大家介紹一些信息:

+0

做到了。有用。非常感謝你:) – zac1987

+0

@ zac1987我的榮幸! :) –