Codeigniter会话类不工作
我在autoload.php中加载了会话类,但是当我使用CodeIgniter会话时什么也没有发生。Codeigniter会话类不工作
例子:我设置的闪存数据:
$this->session->set_flashdata('message', 'HELP!');
当我打印此信息没有任何反应!
例子:
echo $this->session->flashdata('message');
什么是我的代码的问题?
注意:我在CodeIgniter会话中遇到问题,一般是set_flashdata和set_userdata有问题。
UPDATE:
这是一个服务器的问题,现在它的解决。 谢谢大家!
闪存数据仅适用于您在该特定会话中的下一个服务器请求。意味着如果您在加载视图后发出另一个请求或进行重定向,则不会显示该闪光消息。和其他,那么这不会忘记在配置文件自动加载会话库中添加一个encryption_key密钥,并且不会在加载视图后尝试重定向到另一个页面。希望这会回答你的问题
是的,我正在提出另一个请求,只有一个。 我在CodeIgniter会话中遇到了一些问题。问题与set_flashdata和set_userdata,我没有忘记encryption_key。 –
你可以分享代码,所以我有一个更好的理解你是如何提出请求 –
看到这个例子: if($ this-> ion_auth-> login($ this-> input-> post('identity'),$ (),$ this-> input-> post('password'),$ remember)){this-> session-> set_flashdata('message',$ this-> ion_auth-> messages()); 重定向('/','refresh'); } else { $ this-> session-> set_flashdata('message',$ this-> ion_auth-> errors()); 重定向('auth/login','refresh'); } –
没有发生,因为这样的:
$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
}
?>
正如你可以看到这里有两个例子一个是消息(成功),一个用于错误(失败)
编辑:
由于您的评论的反应我在这里发布这个,因为在T他评论不会是可读:
正如你说你已经做到了这一点:
$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;
这不是我的问题。 我知道如何打印flash数据并检查是否已设置。 我遇到了一般的codeigniter会话问题,set_flashdata和set_userdata有问题。 –
我在答案中有一个编辑。我在那里发布,因为在这里不可读。这是一个奇怪的问题。 – Franco
是的,我已经做了这个配置,它不工作 –
Flash数据仅适用于NEXT http请求。你正在提出另一个要求吗?如果是这样,你只有一个? – Kisaragi
是的,我正在提出另一个请求,只有一个。 –
你确定只有一个要求吗? – Kisaragi