2010-01-16 48 views
-2

我想通過使用PHP以這樣的方式創建頁面:頁面應該包含一些顏色更改選項和主題,方法是選擇它們應該反映在同一頁面中的顏色或主題。任何建議或腳本?在頁面中動態選擇顏色和主題

+0

任何人都可以給我這個主題,我已張貼或dis的腳本。 – Patel 2010-01-16 07:28:46

+0

我真的不明白你想要什麼。你能否更清楚地重述這個問題,並給出一些需要改變的各種主題的html/css例子? – 2010-01-16 07:30:21

+0

k我認爲你使用orkut那裏他們提供了一個選項,我們改變主題..同樣的方式,我想要一個腳本,以便用戶可以更改他們喜歡的主題。如何做到這一點在Php ..我想現在你明白了... – Patel 2010-01-16 07:33:08

回答

2

爲php網站獲取某種個性化主題最簡單的方法之一就是針對不同的主題使用不同的樣式表,並將它們存儲到用戶的瀏覽器cookies。不是最理想的,但適用於大多數用戶。

假設您有3個名爲default.css,theme1.css和theme2.css的樣式表。

default.css:

body { 
    color: blue, 
    background-color: white; 
    font-family: arial; 
} 

theme1.css:

body { 
    color: black, 
    background-color: yellow; 
    font-family: verdana; 
} 

下面是一個示例代碼,以輸出鏈接具體內容取決於存儲在其他餅乾不同的樣式表使用一個默認。

<head> 
<?php 
if (!isset($_COOKIE['siteTheme'])) 
    echo '<link rel="stylesheet" type="text/css" href="/css/' . $_COOKIE["siteTheme"] . '" />"; 
else 
    echo '<link rel="stylesheet" type="text/css" href="/css/default.css" />'; 
?> 
<!-- other elements in head --> 
</head> 

要存儲用戶選擇的主題,您可能會有一個下拉或超鏈接到頁面,然後設置cookie。

說超鏈接 「setTheme.php?theme=theme1」, 「theme=theme2」 等

或者下拉形式

<form method='get' action='/setTheme.php'> 
<select name='theme' onchange='this.form.submit();'> 
<option value='default'>default</option> 
<option value='theme1'>Theme 1</option> 
<option value='theme2'>Theme 2</option> 
</select> 
</form> 

在setTheme.php頁面,添加以下內容:

<?php 
$expire=time()+60*60*24*30; //exipiry of the cookie 
setcookie("siteTheme", $_GET["theme"], $expire); //store the selected theme to cookie 
?> 

然後在主頁樣式選擇代碼(上面的第一個代碼)中找到一個返回到主頁的鏈接,然後就完成了。

PS:不支持瀏覽器不支持cookie或cookie被禁用。

聲明:我沒有測試上面的實際代碼,但從概念上說它應該工作。