codeigniter:用户个人资料页面

时间:2015-02-19 21:35:05

标签: php codeigniter url profile

您好我在codeigniter中的用户个人资料页面有问题。 所以这是我的用户控制器:

  <?php
class User extends CI_Controller {
    function users() {
        parent::user();
    }
    function index($id = null) {
    if($id == null) {
      redirect('/', 'refresh');      
    }
else {
    $data['title']  = 'User Page';
    $data['result'] = $this->users_model->get_user_info();
    $data['id'] = $id; 
    $data['main_content'] = "main/profile_view" ;
    $this->load->view('home',$data);
}
}
}
?>

这是模型中的功能:

public function get_user_info(){
        $this->db->where('id' , 'id');
        $q = $this->db->get('users');
        if ($q->num_rows > 0) {
            return $q->result();
        } else {
            return false;

        }
    }

这是路线档案:

$route['user/(:any)'] = "user/index/$1";

i get this error in localhost/cc/user/1 
Fatal error: Call to a member function get_user_info() on null in C:\xampp\htdocs\cc\application\controllers\user.php on line 12

我想知道如何在视图中显示用户数据

1 个答案:

答案 0 :(得分:0)

在您的控制器中我想这一行:

$data['result'] = $this->users_model->get_user_info();

应该是:

$data['result'] = $this->users_model->get_user_info($id);

在您的模型中:

public function get_user_info(){
        $this->db->where('id' , 'id');

应该是这样的:

public function get_user_info($id){
        $this->db->where('id' , $id);

// =================下一个问题

我试过了,但是当我在用户/之后输入一个不存在的id。 ,它显示配置文件vue

是的,我打算将它包装在IF中然后变得懒惰 - 这是单向的 检查结果是否没有返回 - 所以在你检查$ id是否为NULL之后 - 如果$ data ['result']没有从模型返回,那么转到showUserNotFound($ id)之类的方法。

elseif ( ! $data['result'] = $this->users_model->get_user_info($id) ){

     $this->showUserNotFound($id); } 

else {    $data['title']  = 'User Page';
    $data['id'] = $id; 
    $data['main_content'] = "main/profile_view" ;
    $this->load->view('home',$data); }