首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么smarty不考虑会话变量?

为什么smarty不考虑会话变量?
EN

Stack Overflow用户
提问于 2012-10-15 21:32:18
回答 3查看 1.3K关注 0票数 1

为什么smarty 3不考虑codeIgniter会话变量:

代码语言:javascript
运行
复制
$this->session->set_userdata('userId', $res['id']);  // this doesn't work 

$_SESSION['userId']=$res['id']; // this works.

我在smarty中以如下方式访问它:

代码语言:javascript
运行
复制
{$smarty.session.userId}  
EN

回答 3

Stack Overflow用户

发布于 2012-10-15 21:42:57

CI (!)不使用PHP超全局$_SESSION...

请阅读此处,了解一种将CI会话暴露给Smarty的好方法。

http://ellislab.com/codeigniter/forums/viewthread/110540/#571279

票数 3
EN

Stack Overflow用户

发布于 2012-10-15 21:36:16

在codeIgniter中

代码语言:javascript
运行
复制
$this->session->set_userdata()

函数将数据保存在cookie中,因此不能通过会话获取数据。

票数 0
EN

Stack Overflow用户

发布于 2014-10-29 21:54:44

你可以这样做:

控制器中的

  1. 如下所示:

$data'session'=$this->session->userdata;

$this->smarty_parser->parse("smarty.php",$data);

或者,如果你不想在你的控制器中每次都这样做,你可以把它移到你的聪明的包装器类中。

在您的智能包装器(smarty_parser.php)中使用

  1. ,如下所示:

函数解析($template,$data,$return = FALSE) {

如果($template == '')返回FALSE;$CI =& get_instance();

会话开始*/ $ /*‘session’=$CI->session->userdata;... }

然后,您可以使用以下命令访问模板中的所有会话数据

代码语言:javascript
运行
复制
{$session.session_id} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12896708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档