【问题标题】:codeigniter : user profile pagecodeigniter:用户个人资料页面
【发布时间】:2015-02-19 21:35:04
【问题描述】:

您好,我在 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

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

【问题讨论】:

  • 你有什么问题?
  • 致命错误:在第 12 行的 C:\xampp\htdocs\cc\application\controllers\user.php 中的 null 上调用成员函数 get_user_info() 以及如何在查看
  • 您的users 模型永远不会加载。
  • user_model 是自动加载的
  • @MazenMezlini 您应该将该错误放在您的问题中,以解释您遇到的问题。

标签: php codeigniter url profile


【解决方案1】:

在你的控制器中,我认为这一行:

$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);

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

我试过了,但是当我在 user/. ,它会显示配置文件 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); } 

【讨论】:

  • 我试过了,但是当我在 user/. ,它显示配置文件vue
  • 谢谢你的工作真的很好,我还有一个问题,当你点击一个用户个人资料链接时,如何让它参考用户个人资料页面。
  • 很高兴它有帮助!否则对于用户个人资料链接问题---你能更新你的问题和代码吗?我不确定您需要帮助的哪一部分。
  • 真的很简单,例如在家里我会发现用户mazen发布了一些东西,我想当我点击它时自动引用的用户名:用户/用户名
猜你喜欢
  • 1970-01-01
  • 2020-01-23
  • 2014-01-29
  • 1970-01-01
  • 2012-01-24
  • 2016-06-26
  • 2015-03-06
  • 2011-01-25
  • 2018-11-05
相关资源
最近更新 更多