我尝试从管理面板制作样式切换器,我添加了:
的index.php
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo($thestyle);?>.css" >
<?php
$thestyle = $_GET['set'];
if ($thestyle == "style1")
{
$thestyle = "style2";
}
else
{
$thestyle = "style1";
}
?>
来自管理面板的 dashboard.php
<a href="index.php?set=style1">Style Sheet One</a>
<a href="index.php?set=style2">Style Sheet Two</a>
这会更改我网站上的样式表,但我怎样才能将更改存储在MySQL中呢?
此代码仅适用于管理面板中的语言,不适用于用户,我希望在mysql中使用简单的0-1样式
答案 0 :(得分:1)
一种方法是为站点首选项或存储键值对的内容创建MySQL表。然后你可以更新其键是&#34;样式&#34;并将值设置为1或2.
我担心的是,偏好是全局的并且能够像这样设置有点奇怪。看起来它们更有意义:
我会按照以下方式做点什么:
function updateStylePreference($style) {
$_COOKIE['stylePref'] = $style;
}
function getStylePreference() {
if(isset($_COOKIE['stylePref'])) {
return $_COOKIE['stylePref'];
}
else {
// set a default
updateStylePreference('style1');
return 'style1';
}
}
既然你说你自己只需要这个,为什么不是文本文件(如果你反对cookie)?
function updateStylePreference($style) {
file_put_contents("stylepref.txt", $style);
}
### Retrieving values from a text file
function getStylePreference() {
return file_get_contents("stylepref.txt");
}
我真的推荐这里的饼干。
答案 1 :(得分:1)
您可以使用会话,Cookie或数据库。
非常简洁的例子说明它如何与会话一起使用
<?php
session_start();
if(!isset($_SESSION['style'])){
$_SESSION['style'] = "style1";
}
if(isset($_GET['set'])){
$_SESSION['style'] = $_GET['set'];
}
?>
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $_SESSION['style']; ?>.css" >
或者正如我现在读到的那样,您需要在db中执行此操作,然后在单击链接后创建类似的SQL:
UPDATE table SET style='$variable' WHERE someid = id
答案 2 :(得分:0)
切换主题时,您可以在数据库或会话中更新或更新当前样式主题的值。 所以下次你读取内存中的值来加载你当前选择的主题