控制器不返回变量 [英] Controller does not return the variable

查看:136
本文介绍了控制器不返回变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

表格可以通过AJAX成功提交,通知消息可以显示在窗口的jQuery(你的名字已经被成功更改!),但是当我提出一个空的形式,它不会返回消息失败。能否请你检查我的code和帮助我找到我的错误。

控制器:

  $这个 - >负载>库('form_validation');
$这个 - >负载>模型('my_model');

$this->form_validation->set_rules('name','Name','required|trim|alpha|min_length[3]|xss_clean');

如果($这个 - > form_validation->运行()){
    $ user_ID的= $这个 - >会话级>用户数据('USER_ID');
    $ NAME = $这个 - >输入 - >后期('名');
    如果($这个 - > model_users-> did_change_name($ user_ID的,$名)){
        $数据=阵列(
            message_ok'=> 你的名字已经被成功更改!
        );
        回声json_en code($的数据);
    } 其他 {
        $数据=阵列(
            '信息'=> '失败'
        );
        回声json_en code($的数据);
    }
}
 

解决方案

这是所有关于括号:)试试这个方法:

 如果($这个 - > form_validation->运行()){
    $ user_ID的= $这个 - >会话级>用户数据('USER_ID');
    $ NAME = $这个 - >输入 - >后期('名');
    如果($这个 - > model_users-> did_change_name($ user_ID的,$名)){
        $数据=阵列(
            message_ok'=> 你的名字已经被成功更改!
        );
        回声json_en code($的数据);
    }
}
其他 {
        $数据=阵列(
            '信息'=> '失败'
        );
        回声json_en code($的数据);
    }
 

Form can be successfully submitted via ajax and the notification message can be displayed in jquery window ("Your name has been successfully changed!")but when I submit an empty form it doesn't return the message "fail". Could you please check my code and help me to find my mistake.

Controller:

$this->load->library('form_validation');
$this->load->model('my_model');   

$this->form_validation->set_rules('name','Name','required|trim|alpha|min_length[3]|xss_clean');

if($this->form_validation->run()) {
    $user_id = $this->session->userdata('user_id');
    $name = $this->input->post('name');
    if ($this->model_users->did_change_name($user_id, $name)) {
        $data = array(
            'message_ok' => "Your name has been successfully changed!"
        );
        echo json_encode($data);
    } else { 
        $data = array(
            'message' => 'fail'                   
        );
        echo json_encode($data);         
    }
}

解决方案

It's all about parentheses :) Try this way:

if($this->form_validation->run()) {
    $user_id = $this->session->userdata('user_id');
    $name = $this->input->post('name');
    if ($this->model_users->did_change_name($user_id, $name)) {
        $data = array(
            'message_ok' => "Your name has been successfully changed!"
        );
        echo json_encode($data);
    } 
}
else { 
        $data = array(
            'message' => 'fail'                   
        );
        echo json_encode($data);         
    }

这篇关于控制器不返回变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆