【问题标题】:Send backend data (hidden and non editable) to Codeigniter controller on submit Form在提交表单时将后端数据(隐藏且不可编辑)发送到 Codeigniter 控制器
【发布时间】:2017-08-05 19:01:12
【问题描述】:

我已经从控制器发送了一些$data 来查看。该视图包含<form>。如何在向控制器提交表单时将此$data 发送到控制器(同一控制器中的子功能)?

例如:

控制器

class Register extends CI_Controller {
  function index(){
    $this->load->view('login', $data['data']);
  }

  function get_data(){
    $input_value = $this->input->post('bla');

    /*--- here is my point of question ---
    I wan't to call $data here and $data shuold same as $data at index()
    */
    $this->model_file->insert_data_and_input_value_to_DB($data, $input_value);
  } 

}

查看

// $data is ready 

echo form_open('register/get_data');
echo '<input name='bla' />';
echo '<input type='submit' value='SEND input value and $data TOO'/>
echo form_close();

【问题讨论】:

  • 如何在索引方法中创建$data数组?
  • $data 来自 Login Google 的 Google Auth API 客户端。我已将一些 google 响应数据(电子邮件、Google+ id)设置为 $data。
  • 您必须在会话中将这些数据保存在数据库或文件中。这是因为我们不是在谈论相同的请求。
  • 显示完整代码,数据未分配到任何地方
  • 很简单:$dataget_data() 方法中不存在,除非您从诸如会话之类的源调用它。

标签: php codeigniter codeigniter-3 php-5.6


【解决方案1】:

您可以通过多种方式做到这一点。其中之一在下面

Simply change your view like this

    $data = array('a' => 'apple', 'b' => 'bag', 'c' => 'cat' );
    $data = base64_encode(serialize($data));

    echo '<form action="register/get_data" method="post">';
    echo '<input type="text" name="bla" />';
    echo '<input type="hidden" name="data" value="'.$data.'">';
    echo '<input type="submit" value="SEND"/>';
    echo '</form>';

像这样改变你的控制器

    class Register extends CI_Controller {
         function index(){
            $this->load->view('login', $data['data']);
         }

         function get_data(){
                $input_value = $this->input->post('bla');

                if ($_POST) {
                    print_r(unserialize(base64_decode($_POST['data'])));
                }
               $this->model_file->insert_data_and_input_value_to_DB($data, $input_value);
        } 

    }

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 2021-08-11
    • 2018-05-04
    • 2011-02-18
    • 1970-01-01
    相关资源
    最近更新 更多