2012-10-22 12 views
2

这是我的第一个问题,可能是一个非常简单的问题,但我真的找不到如何去做。使用PHP保存以前的偏好/选择

当我试图谷歌它,我只遇到饼干和会议,但我不知道如何使用它们,并希望有一个更简单的方法。我今天才开始使用PHP。

在接下来的页面上,我希望用户能够切换背景,文本颜色,文字修饰等。我也是这样工作的,但我很想找到一种方法来保存以前的选择,并且将它添加到下一个。

因此,如果有人选择了红色背景色,当他们选择另一种样式(如黑色文本颜色)时,它不应切换回白色。

有没有简单的方法(像我这样的初学者)来解决这个问题?

这是至今址:http://mark.wigf7.sde.dk/PHP/opgave_g.php?baggrundfarve=FF8000

+2

欢迎的话,请你的问题更清晰;添加代码,你试过的东西等等。 –

+1

目前的方法已经很简单了(如果你想知道PHP会话自动代表你做的所有事情,你会同意)。只花更多的时间用语言。 :) – Jon

+0

我通常不会在about.com上推荐关于_programming_的教程,但这很简单,适合初学者。我想你会发现会话很容易连接,如果你只是给它一点时间,并阅读这个:http://php.about.com/od/advancedphp/ss/php_sessions.htm –

回答

3

要使用$_SESSIONsuperglobal,先加入给你的PHP脚本(S)的顶部开始:

session_start(); 

然后,你可以存储数据在$_SESSION并稍后访问它。

//Store user's selection 
$_SESSION['bg_color'] = $bg_color_choice; 

在下一页:

//Use default of #FFFFFF unless user made selection. 
$bg_color = isset($_SESSION['bg_color']) ? $_SESSION['bg_color'] : '#FFFFFF'; 

编辑:既然你链接到你的页面会使用:

$allowedColors = array(
    'FFFFFF', 
    'D8D8D8', 
    '000000' 
); 

if(isset($_GET['baggrundfarve']) && in_array($_GET['baggrundfarve'], $allowedColors)){ 
    $_SESSION['bg_color'] = $_GET['baggrundfarve']; 
} 
+0

这一切都在一个页面,那仍然有效? http://mark.wigf7.sde.dk/PHP/opgave_g.php?baggrundfarve=FF8000 – user1765065

+0

@ user1765065如果它全部在一个页面上(没有表单提交),您将需要使用JavaScript,因为PHP是一个服务器端语言,而JavaScript是客户端。 –

+0

非常快速的响应感谢,我会尝试着看我应该如何添加这些代码。这对我来说仍然是模糊不清的,但我确信它以后会好起来的:P – user1765065