php - 交响乐 1.4 : Unable to set session variables

标签 php session symfony-1.4 session-variables

我正在尝试设置一个 symfony session 变量,我可以在所有操作/模板中访问该变量。一旦用户凭据得到验证,用户经过身份验证,但在他被重定向到其主页之前,就会完成此操作。

代码如下所示:

// Authentication verified 

$this->getUser()->setAuthenticated(true);
// note I am deliberately using a static value
$this->getUser()->setAttribute('userid',"4"); 
$this->redirect('flashcard/index');  

当我尝试在我的操作之一中获取此属性时,如下所示:

$this->getUser()->getAttribute('userid') 它返回 null,

我采用这样的var_dump:

var_dump($this->getUser()->getAttributeHolder()->getAll());

它返回一个空数组,这意味着有些东西不太正确。

请注意,我没有使用 sfDoctrineGuard 进行登录身份验证,尽管我不认为设置 session 变量与之有任何关系。

最佳答案

不确定错误是什么,但这里有一些改进代码并尝试调试它的建议:

1 - 在您的用户类中添加自定义函数,以便您调用 $this->getUser()->setMyVariable(4)、$this->getUser()->getMyVariable()、$this-> getUser()->isMyVariableDefined()... 这将避免名称和命名空间上的任何拼写错误...

2 - 添加命名空间以防万一(以避免通用名称(例如 userid)发生冲突)...

类似的事情:

public function setMyVariable($value = null)
{
  $this->setAttribute('user_id', $value, 'some_namespace');
}

3 - 用户登录后,使用调试栏检查用户属性 - 无需编码。如果它存在,请继续检查以查明它何时消失...

关于php - 交响乐 1.4 : Unable to set session variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095861/

相关文章:

php - 如何使用户 session 持续 24 小时?

php - 带有从表语法错误中选择的 Wordpress 简码

系统化时的 PHP/MySQL 约定

wcf - 用于 WCF 和集成测试的 RavenDb session 管理

sql - 在 Symfony 中创建包含 JOIN 和 RAND() 的 MySQL 查询时遇到问题

symfony1 - 如何在 Symfony 中包含多个 php 库?

php - 如何检索 MySQL 记录列表中的下一项?

php - 根据当前年月创建上传路径

php - 将网站从 Symfony 1.4 移植到 2.0

security - HTTPS 是否可以防止 session 骑马?