我可以选择让用户在登录系统时选择他/她自己的主题,并且该主题在MYSQL数据库中设置,并在每次用户登录时调用,这可以通过以下方式调用:
<?php $_SESSION['SESS_THEME_NAME']; ?>
现在,我在PHP文件中工作,但不幸的是我需要它在Javascript中工作。我需要一些帮助。我使用Google Chrome上的开发人员工具查看了代码,看起来上面的代码没有在javascript文件中解析。这是有道理的,因为您无法在javascript文件中访问会话变量(正如我通过搜索Google找到的那样)。
代码基本上应该根据从MYSQL数据库中提取的值来设置特定的样式表。因此,如果数据库显示Default
,脚本需要告诉网页使用default.css
文件。等等等等。
我写这篇文章的尝试如下:
var themName="<?php $_SESSION['SESS_THEME_NAME']; ?>";
if (themeName == "Default")
{
document.write("<link re='stylesheet' type='text/css' href='css/mws-theme.css'>");
};
if (themeName == "Army")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-army.css'>");
};
if (themeName == "Rocky Mountains")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-rocky.css'>");
};
if (themeName == "Chinese Temple")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-chinese.css'>");
};
if (themeName == "Boutique")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-boutique.css'>");
};
if (themeName == "Toxic")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-toxic.css'>");
};
if (themeName == "Aquamarine")
{
document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-aquamarine.css'>");
};
任何帮助过一次都会很棒,非常感谢!我到了截止日期:/
答案 0 :(得分:3)
我认为你这样做太复杂了。为什么不直接使用PHP写出<link>
标签?
$themes = array(
'Default' => '',
'Army' => '-army',
'Rocky Mountains' => '-rocky'
// etc...
);
echo "<link rel='stylesheet' type='text/css' href='css/mws-theme-{$themes[$_SESSION['SESS_THEME_NAME']]}.css'>";
答案 1 :(得分:1)
“现在,我已经在PHP文件中工作,但我不幸地需要它在Javascript中工作。我需要一些帮助。我使用Google Chrome上的开发人员工具查看代码,看起来上面的代码是没有在javascript文件中解析。这是有道理的,因为你无法在javascript文件中访问会话变量(正如我通过搜索Google找到的那样)。“
当然可以。将您的javascript文件命名为foo.php
。
在里面,你可以使用PHP:
<?php
header('Content-type: application/x-javascript');
session_start();
?>
var theme_name = "<?php echo $_SESSION['SESS_THEME_NAME']; ?>";
...