首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Codeigniter flashdata -我使用正确了吗?

Codeigniter flashdata -我使用正确了吗?
EN

Stack Overflow用户
提问于 2011-06-11 08:03:07
回答 3查看 39.6K关注 0票数 14

我了解了flashdata,并决定使用它来显示基于数据库交互的消息。

例如,如果没有行受到影响,我希望显示Post id is invalid or does not exist!

在我的模型中

代码语言:javascript
复制
function delete_post($post_id)
    {
        $this->db->where('user_id', $user_id);
        $this->db->where('post_id', $post_id);
        $this->db->delete('posts'); 

        if ($this->db->affected_rows() == 0) 
        {
            $this->session->set_flashdata('result', 'Post id is invalid or does not exist!');
            redirect('/posts/management');
            return FALSE;
        }
        else
        {

            redirect('/posts/management');
            return TRUE;
        }                   
    }

在我看来

代码语言:javascript
复制
if ($this->session->flashdata('result') != ''): 
    echo $this->session->flashdata('result'); 
endif;

这似乎工作得很好,但CI文档中没有如何在MVC之间传递flashdata的示例。我很担心..。我这样做正确吗?

编辑:我似乎在之前的一次尝试中留下了FALSE和TRUE。我可能不需要它了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-11 08:32:14

会话数据在应用程序中的任何位置、任何时间都可用。直接从视图文件调用它是正确的,因此它在控制器中设置它。

根本不需要用$this->load->view()把它作为数据传递--它是多余的。在这种情况下,为什么首先要将其分配给flashdata呢?

你这样做是正确的。

编辑:我刚刚看到你在模型中设置它,而不是在控制器中-这是非常有争议的。我建议从您的Model调用中返回一个值,并在您的控制器中根据它设置消息。

票数 15
EN

Stack Overflow用户

发布于 2012-06-23 23:15:24

代码语言:javascript
复制
$myArr = array('value 1', 'value 1');

$this->session->set_flashdata('myArray', $myArr);

在视图中,

代码语言:javascript
复制
print_r($this->session->flashdata('myArray'));
票数 3
EN

Stack Overflow用户

发布于 2011-06-11 08:08:13

我只是将其保存在一个数组中,并将其传递给视图:)

代码语言:javascript
复制
 $data['wow_list'] = $this->Wow_model->getWow($uid);

 $this->session->set_flashdata('message', 'Done. You have added new task.'); 

 $data['flash_message'] = $this->session->flashdata('message');


 $this->load->view('wow/index', $data);

视图

代码语言:javascript
复制
<?= $flash_message ?>

数据通过视图加载函数的第二个参数中的数组或对象从控制器传递到视图。

http://codeigniter.com/user_guide/general/views.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6313157

复制
相关文章

相似问题

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