【问题标题】:How to send variable data when redirecting to previous page重定向到上一页时如何发送可变数据
【发布时间】:2011-12-20 13:47:13
【问题描述】:

完成特定任务后,我正在使用以下代码将我的用户重定向到上一页。

        if (isset($_SERVER['HTTP_REFERER']))
         {
         $this->session->set_userdata('previous_page', $_SERVER['HTTP_REFERER']);
         }
         else
         {
         $this->session->set_userdata('previous_page', base_url());
         }

上面的代码我在一个控制器中使用,下面的代码在另一个控制器中..

    .... some other stuffs... I am updating database values here....

        $this->db->where('t_expenseid', $t_expenseid);
        query=$this->db->update('teacherexpense', $data); 


        redirect($this->session->userdata('previous_page'));

上面的代码工作正常,但我面临的问题是我想通过重定向发送成功消息,以便在上一页加载时弹出成功消息(我已经有 jquery)。为此,我在重定向上方添加了以下代码,但我不知道如何将 $data 或消息与重定向一起发送。如果我能够发送它如何检索上一页控制器中的值。

 $data['msg']='Information Has been Successfully Inserted'; 

你能告诉我如何发送它然后找回它吗?

谢谢:)

【问题讨论】:

    标签: codeigniter codeigniter-2


    【解决方案1】:

    您可以使用 CI 的 set_flashdata。刷新页面消息变为空白后,您只能使用该消息一次。

      $this->session->set_flashdata('message', 'Authentication failed');
    
      redirect(site_url('message/index/'), 'refresh'); 
    

    在该页面上,您可以通过

    捕获此消息
    $message = $this->session->flashdata('message').
    

    【讨论】:

    • 我们确实通过 flash 获得了消息,但是我们丢失了“validation_errors()”自动生成的消息,有什么方法可以捕获它们而不是编写我们自己的消息?
    【解决方案2】:

    考虑使用flashdata,它通常用于您想要重定向到页面并显示消息的情况。请记住,该消息只会显示一次。如果用户刷新页面,消息就会消失。

    你会如何使用它:

    $this->db->where('t_expenseid', $t_expenseid);
    query = $this->db->update('teacherexpense', $data);
    
    // set flashdata
    $this->session->set_flashdata('message', 'Information Has been Successfully Inserted');
    
    redirect($this->session->userdata('previous_page'));
    

    然后在“上一页”中,您可以检查一条消息并在它存在时显示它:

    // get flashdata
    $message = $this->session->flashdata('message');
    
    if ($message) {
        // pass message to view, etc...
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-30
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 2020-06-20
      • 2012-07-28
      • 2020-08-20
      • 1970-01-01
      • 2012-11-17
      相关资源
      最近更新 更多