[英]Codeigniter session class not working
我在autoload.php中加载了会话类,但是当我使用CodeIgniter会话时,什么也没有发生。
示例:我设置了闪存数据:
$this->session->set_flashdata('message', 'HELP!');
当我打印此信息时,什么都不会发生!
例:
echo $this->session->flashdata('message');
我的代码有什么问题?
注意:一般来说,我在使用CodeIgniter会话时遇到问题,但在使用set_flashdata和set_userdata时遇到问题。
更新:
这是服务器问题,现在已经解决。 谢谢大家!
Flash数据仅可用于该特定会话中的下一个服务器请求。 表示如果您在加载视图后提出了其他请求或进行了重定向,则Flash消息将不会出现。 这样别忘了在配置文件自动加载会话库中添加加密键密钥,并且在加载视图后不要尝试重定向到另一个页面。 希望这能回答您的问题
没有任何反应,因为:
$this->session->set_flashdata('message', 'HELP!');
只是在会话“消息”中设置“帮助”;
$this->session->set_flashdata('error', 'WOOPS!');
您还需要在视图中设置一些条件,以便阅读会话并查看结果:
<?php
if($this->session->flashdata('message'))
{
?>
<div class="container" style="padding-top:80px;">
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<?php echo $this->session->flashdata('message');?>
</div>
</div>
<?php
}elseif($this->session->flashdata('error')){
?>
<div class="container" style="padding-top:80px;">
<div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<?php echo $this->session->flashdata('error');?>
</div>
</div>
<?php
}
?>
如您所见,这里有两个示例,一个用于消息(成功),另一个用于错误(失败)
编辑:
作为您评论的回应,我将其发布在这里,因为在评论中将不可读:
如您所说,您已经做到了:
$autoload['libraries'] = array('database','session');
您是否还在配置中进行了设置?
$config['encryption_key'] = 'DCF564RT9JN761AZX56FR76Rd8hg6s12';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_session';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
从Codeigniter官方网站下载最新版本的Codeigniter(版本3.1.6),然后将系统文件夹替换到您的Codeigniter项目中,它将起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.