gpt4 book ai didi

php - CodeIgniter "flashdata"不工作

转载 作者:可可西里 更新时间:2023-10-31 22:05:38 25 4
gpt4 key购买 nike

我使用 CodeIgniter 2.1.0,我想在数据库中插入数据后收到一条消息,如“您的信息已成功更新。”。对于这项工作,我在 CI_Controller 中有以下功能:

function myCiInser(){
... Here is my query ...
//$data: this var is result query that is true
if($data){
$this -> session -> set_flashdata('message', 'Your information was successfully updated.');
redirect('url/myurl');
}
}

我认为:

<?php
$message = $this->session->flashdata('message');
if($message){
echo '<div id="error_text">' . $message . '</div>';
}
//I test this : "echo $message;" but don't give output
?>

但是我没有在 View 中给出消息,但是 redirect 已经完成并且工作正常。在数据库中的表 ci_sessionsuser_data 我有这个:

a:2:{s:9:"user_data";s:0:"";s:19:"flash:new:message";s:42:"Your information was successfully updated.";}

如何解决这个问题?

更新:

我有以下错误(我使用 chorme 并通过 Ctrl+Shift+j 我收到此警报):

Failed to load resource: the server responded with a status of 404 (Not Found)

我修复了它(现在我没有错误)但在显示消息中仍然是同样的问题。我该怎么办?

最佳答案

来自 Codeigniter Session Class documentation , 关于 Flashdata 我们可以读到:

CodeIgniter supports "flashdata", or session data that will only be available for the next server request, and are then automatically cleared.

您的问题可能是当您重定向时,该过程需要多个请求,清除您的闪存数据。

要查看是否是这种情况,只需将以下代码添加到您要重定向到的 Controller 的构造函数中:

$this->session->keep_flashdata('message');

这将为另一个服务器请求保留闪存数据,以便以后使用。

关于php - CodeIgniter "flashdata"不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com