我有一個動態的PHP頁面,在按鈕單擊更改鏈接到它的CSS文件,我已經做到了將選定的CSS文件保存到會話,所以用戶將選擇的CSS文件全部在他的會議期間的時間。saveHTML()保存2個副本
我的問題是,編輯鏈接html元素中的href元素 - 爲了鏈接新選擇的文件 - 我使用saveHTML()函數來保存編輯版本,輸出是災難,我有兩個副本的頁面上的所有元素,我的意思是兩個橫幅,兩個提交按鈕,一切都是重複的!
我的代碼看起來是這樣的:
<!--CSS Theme-->
<link id = "theme" rel="stylesheet" type="text/css" href="White.css" />
<!--Change Theme-->
<?php
if(isSet($_GET["Theme"]))
{
$th = $_GET["Theme"];
$_SESSION["Theme"] = $th;
}
else if(isSet($_SESSION["Theme"]))
{
$th = $_SESSION["Theme"];
}
else
{
$th = 'White.css';
}
switch ($th) {
case 'Light Blue':
$theme_file = 'LightBlue.css';
break;
default:
$theme_file = 'White.css';
}
$dom = new DOMDocument;
@$dom->loadHTMLFile('HomeWork.php');
$node= $dom->getElementById('theme') ;
$node->setAttribute('href', $theme_file);
echo $dom->saveHTML();
?>
編輯HomeWork.php是包含前面的代碼相同的文件。
你有什麼想法是什麼問題?
當你去HomeWork.php會發生什麼? – 2011-03-17 18:59:40
您試圖將PHP加載爲HTML。您需要首先獲取內容,然後將其加載到DOM中... – ircmaxell 2011-03-17 19:01:40
爲什麼要使用loadHTMLFile()加載PHP文件?如果該文件中有PHP,它將不會被執行。 – glomad 2011-03-17 19:02:51