我想重新加载同一页面(当前页面)但使用不同的会话参数
I want to reload same page (current page) but with different session parameters
主要问题
我想更改一些会话参数(考虑到显示或不显示我页面的某些部分)通过单击按钮,但仍然显示相同页。我怎样才能实现它?
例子
我希望用户更改页面背景的颜色。 (背景颜色存储在session('backgroundcolor').
我该怎么做才能让当用户点击 'Green Backgroundcolor' 时会话获得新值和当前页面(用户点击按钮时所在的页面) 正在重新加载。
(按钮在主布局中,因此可以在站点的所有页面上单击,当然这些页面具有所有不同的路径)
获取信息
我使用 symfony2。我不想用 javascript/jquery 来做,因为这是一个例子,有时用户更改其他一些会话值会触发 BD 请求。
Post 到同一页面并更改会话变量
<?php
if(isset($_POST['change_color']))
{
session_start();
$_SESSION['backgroundcolor']=$_POST['change_color'];
}
//continue with your code
?>
点击您的按钮后,向同一页面发送 post 请求。
这里是针对 Symfony 的改编(改编自未针对 Symfony 改编的 Tyranicangel 代码):
我使用了一个表单并发布到同一页面(表单中的 action="")
$session = $this->getRequest()->getSession(); // access to session
if(isset($_POST['backgroundcolor']))
{
$session->set('backgroundcolor',$_POST['backgroundcolor']);
}
主要问题
我想更改一些会话参数(考虑到显示或不显示我页面的某些部分)通过单击按钮,但仍然显示相同页。我怎样才能实现它?
例子
我希望用户更改页面背景的颜色。 (背景颜色存储在session('backgroundcolor').
我该怎么做才能让当用户点击 'Green Backgroundcolor' 时会话获得新值和当前页面(用户点击按钮时所在的页面) 正在重新加载。
(按钮在主布局中,因此可以在站点的所有页面上单击,当然这些页面具有所有不同的路径)
获取信息
我使用 symfony2。我不想用 javascript/jquery 来做,因为这是一个例子,有时用户更改其他一些会话值会触发 BD 请求。
Post 到同一页面并更改会话变量
<?php
if(isset($_POST['change_color']))
{
session_start();
$_SESSION['backgroundcolor']=$_POST['change_color'];
}
//continue with your code
?>
点击您的按钮后,向同一页面发送 post 请求。
这里是针对 Symfony 的改编(改编自未针对 Symfony 改编的 Tyranicangel 代码):
我使用了一个表单并发布到同一页面(表单中的 action="")
$session = $this->getRequest()->getSession(); // access to session
if(isset($_POST['backgroundcolor']))
{
$session->set('backgroundcolor',$_POST['backgroundcolor']);
}