Style Switcher PHP和MySQL

时间:2014-03-31 09:54:19

标签: php html mysql css

我尝试从管理面板制作样式切换器,我添加了:

的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样式

3 个答案:

答案 0 :(得分:1)

一种方法是为站点首选项或存储键值对的内容创建MySQL表。然后你可以更新其键是&#34;样式&#34;并将值设置为1或2.

我担心的是,偏好是全局的并且能够像这样设置有点奇怪。看起来它们更有意义:

  1. 使用与上述
  2. 类似的方法,将此首选项存储为用户表的一部分
  3. 将此偏好设置存储在Cookie中。
  4. 我会按照以下方式做点什么:

    将值存储到cookie

    function updateStylePreference($style) {
        $_COOKIE['stylePref'] = $style;
    }
    

    从cookie中检索值

    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)

切换主题时,您可以在数据库或会话中更新或更新当前样式主题的值。 所以下次你读取内存中的值来加载你当前选择的主题