codeigniter - 为什么 Flashdata 值在重定向到 Codeigniter 中的另一个函数时变为空值?

标签 codeigniter codeigniter-3 codeigniter-2

我正在尝试从 View 获取输入值到 Controller 并将此值保存为闪存数据以在另一个 Controller 中使用它。现在我可以存储值直到我重定向,但是一旦重定向,它就失去了它的值(value)。我不确定这里发生了什么。

  • 我需要再次查看我的配置吗?如果是,那么我需要看什么?
  • 我的两个功能都是正确的,但如果我遗漏了什么?

下面是我的代码:-

Controller.php

public function first() { 
 $testing = $this->input->post('fname');
 $this->session->set_flashdata('fstname', $testing);
 $this->session->keep_flashdata('fstname');
 // echo $this->session->flashdata('fstname'); //able to get the flashdata value till here. 
 redirect('Home/second/'); //but when I am using this, flashdata loses its value
}

public function second() { 
 $data['getfname'] = $this->session->flashdata('fstname');
 $this->load->view('details', $data);
}

查看(details.php)

 <?php echo $getfname ?>

输出

config.php

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = APPPATH . 'cache/sessions/'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE;

autoload.php

$autoload['libraries']=array();

另外,我也尝试过使用 userdata() 但它在重定向后没有显示在第二个函数上。

感谢您的宝贵时间。

最佳答案

首先:

检查Post数据是否不为空

$testing = $this->input->post('fname');
var_dump($testing);
exit;

第二个:

你可以跳过 keep_flashdata,在那种情况下你不需要它

第三:

例如检查 config.php 中的 session 设置:

$config['sess_driver']          = 'database';
$config['sess_cookie_name']        = 'mysession';
$config['sess_expiration']         = 86400;
$config['sess_save_path']          = 'sessions';
$config['sess_match_ip']           = TRUE;
$config['sess_time_to_update']     = 300;
$config['sess_regenerate_destroy'] = TRUE;

检查autload.php: $autoload['libraries'] = array('session', [...]);

第四:

直接检查 session 闪存变量:

$strFstname = $this->session->flashdata('fstname');
die($strFstname);

你的代码应该可以工作,我多次使用这样的 flashdata。

关于codeigniter - 为什么 Flashdata 值在重定向到 Codeigniter 中的另一个函数时变为空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52269878/

相关文章:

php - 希望在退出时重新连接到服务器。我可以设置任何形式的 Javascript/jQuery/AJAX 陷阱吗?

php - codeigniter 日期和时间在 View 中无法正确转换

php - Codeigniter query->num_rows 错误地返回 0

php - fatal error : Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes) on line 3

php - Codeigniter- 函数总是返回 null

php - MySQL MATCH AGAINST 3 个字符表达式

Codeigniter URL : How to display id and article title in the URL

php - paypal 数字商品集成如何启用访客支付?

linux - 此页面不工作本地主机当前无法处理此请求。 HTTP 错误 500

CodeIgniter:验证表单数组不起作用