2015-10-17 24 views
1

我必須在切換樣式表的網站上(來回)製作一個按鈕。我已經得到相當遠的按鈕正在工作,但是如果我在另一個頁面上的主頁,並點擊按鈕它切換回我的主頁:(創建一個切換樣式表的PHP開關

我真的不能給這個這樣一個jsfiddle我希望它清楚這樣

這裏是PHP

<?php 
if ($kiescss==1) 
{ 
    echo "<a href=.?sheet=2>switch</a>"; 
} 
else if ($kiescss==2) 
{ 
    echo "<a href=.?sheet=1>switch</a>"; 
} 
?> 

的 「kiescss」 是從另一個PHP文件,其中包括這樣的:

if (empty($_GET['sheet'])) 
$kiescss=1; 
else 
$kiescss = $_GET['sheet']; 

if (!filter_var($kiescss, FILTER_VALIDATE_INT) || $kiescss > 2 || $kiescss < 1) 
$kiescss=1; 
+0

哦,它沒有加我的最後一個代碼: Daoina

+0

您必須將當前腳本名稱包含到該鏈接中。 – Jeff

+0

'$ kiescss'從哪裏來?輸入變量不會奇蹟般地出現在腳本中;除非你正在使用一些...嚴重的老派招數。爲什麼不使用實際的'switch'語句?這是爲了這樣的事情。你確定'。?'指向正確的道路嗎?使用絕對路徑會使它對指向的位置不那麼模糊。你也應該考慮引用'href'值。只要網址中沒有特殊字符,它就不是必須的,但它很可能會在某個時候導致問題。 –

回答

0

是的,你的鏈接工作,你應該改變鏈接的網址。您應該在href屬性中回顯您的路徑,以便鏈接始終引用您所在的頁面。

+0

你能舉一個例子嗎?我真的不知道任何關於PHP的東西..我沒有在我的PHP中看到一個URL,我應該添加一個嗎? – Daoina

+0

你可以使用$ _SERVER ['REQUEST_URI']這是一個PHP全局變量獲取當前路徑,而且您需要更改「switch」,以便您的鏈接始終指向用戶正在訪問的當前頁面。 –

0

每頁都應該包含切換腳本。

anypage.php

if (isset($_GET['sheet'])) { 
    $sheet = $_GET['sheet']; 
} else { 
    $sheet = 1 // default 
} 

include 'header.php' 
[...] 

// Switch button 
if ($sheet == 1) { 
    echo "<a href='?sheet=2'>Switch</a>" 
} else { 
    echo "<a href='?sheet=1'>Switch</a>"; 

的header.php

if ($sheet == 2) { 
    echo "<link rel='stylesheet' type='text/css' href=..." 
} else { 
    echo "<link rel='stylesheet' type='text/css' href=..." // default 
} 
+0

謝謝!我想我解決了它。 – Daoina

+0

頭文件包含語法錯誤。 –

+0

@ SverriM.Olsen這是一個草圖,沒有經過驗證的代碼:) –