我有一个动态的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