繁体   English   中英

Codeigniter解析变量从控制器到视图-消息:数组到字符串的转换

[英]Codeigniter Parsing Variable from Controller to View - Message: Array to string conversion

我的控制器中有此功能:

public function simpan() {
    $this->load->library('form_validation');
    // field name, error message, validation rules
    $this->form_validation->set_rules('name', 'User Name', 'trim|required|min_length[4]|xss_clean');
    $this->form_validation->set_rules('email', 'Your Email', 'trim|required|valid_email');
    $this->form_validation->set_rules('message', 'Your Message', 'trim|required');

    if ($this->form_validation->run() == FALSE) {
        $data['msg_save'] = "data not saved";
        $this->load->view("v_bukutamu, $data");
    } else {
        $this->m_bukutamu->simpan();
        $data['msg_save'] = "data saved";
        $this->load->view("v_bukutamu, $data");
    }
}

这行用于在View中解析变量$ msg_save

<p><?php if (isset($msg_save)) echo $msg_save; ?></p>

数据已成功保存到数据库,但这给了我这个错误信息:

消息:数组到字符串的转换

我只想用相同的视图显示成功或失败的消息。 有人知道我的脚本应该更改什么吗?

你应该用

$this->load->view("v_bukutamu", $data);

代替

$this->load->view("v_bukutamu, $data");

为了加载一个特定的视图,我们使用$this->load->view('name'); 其中name是没有php扩展名的视图文件的名称。

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

$data = array(
               'title' => 'My Title',
               'heading' => 'My Heading',
               'message' => 'My Message'
          );

$this->load->view('blogview', $data);

更多信息在这里

下面给出了在视图页面上传递变量的正确方法

$this->load->view("message", $data);

您的代码中的问题是您在

$this->load->view("v_bukutamu, $data");

这样,而您应该按照下面给出的方式使用它

$this->load->view("v_bukutamu", $data);

只需更改

$this->load->view("v_bukutamu, $data");

$this->load->view('v_bukutamu', $data);

并使用单引号而不是双引号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM