我想重新加载相同的页面(当前页面)但具有不同的会话参数

时间:2015-03-05 12:41:30

标签: php symfony

主要问题
我想更改一些会话参数(通过点击按钮来显示或不显示我的页面的某些部分),但仍然显示相同的页面 。我怎么能实现它?

为例
我希望用户更改页面背景的颜色。 (背景颜色存储在会话中('backgroundcolor') 如何在用户点击“绿色Backgroundcolor”时,会话获取新值和当前页面(用户点击按钮时的页面)是正在重新加载。

(按钮处于主布局,因此可以点击网站的所有页面,当然有不同的路线)

FOR INFO
我用symfony2。我不想用javascript / jquery来做这个,因为这是一个例子,有时候用户的一些其他会话值更改会触发BD请求。

2 个答案:

答案 0 :(得分:0)

这里适用于Symfony(改编自Tyranicangel代码,不适用于Symfony):

我使用了一个表单并发布到同一页面(action =""在表单中)

$session = $this->getRequest()->getSession(); // access to session
if(isset($_POST['backgroundcolor'])) 
{
   $session->set('backgroundcolor',$_POST['backgroundcolor']);
}

答案 1 :(得分:-1)

发布到同一页面并更改会话变量

<?php
   if(isset($_POST['change_color']))
   {
       session_start();
       $_SESSION['backgroundcolor']=$_POST['change_color'];
   }
//continue with your code
?>

点击你的按钮,发送一个帖子请求到同一页面。