【问题标题】:best way to preventing form resubmission of codeigniter防止表单重新提交codeigniter的最佳方法
【发布时间】:2013-11-21 11:20:15
【问题描述】:

总是对重新提交表单感到困惑。我知道 Header 和 session 是正确的方法。但我不知道如何在 codeigniter 中正确使用。假设

对于单个插入和更新查询

    $this->db->query(' insert/up query');
    $this->session->set_flashdata('success_message','successfully inserted');
    redirect('my_contoller/home/index');

用于传递$data数组

$data['pass_data']="some array elements";
$this->session->set_flashdata('pass_data_from_flash_data',$data['pass_data']);
redirect('my_contoller/home/index',$data);

如果上述技术是正确的,我如何传递查询的数据以进行检索。假设我有一个返回许多数据的查询。比如

 $query = $this->db->query(" a query which return large data");
 $data['return_large_result']=$query->result_array(); 

我只是对使用set_flashdata 函数感到困惑。方法对吗?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    您使用的上述方法是valid web development design pattern。 Codeigniter 对于这种方法有点混乱,但基本上是的,它是 Codeigniter 中的正确方法。

    Laravel 等其他框架更好地支持此功能,允许您通过 Input::old() 以及其他方法访问旧输入。

    【讨论】:

    • 但如果数据大于会话内存,我该如何管理。我不知道 CI 闪存数据存储器。但是有一个问题是如果数据超过一千个数组?
    • 那么您需要使用不同的存储方法,例如将其临时存储在文件、数据库或不同的数据存储中,并在会话中使用指向此的指针。这些情况并不常见,因此这类表单可能不会使用POST/REDIRECT/GET 方法。
    猜你喜欢
    • 2017-07-21
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多