codeigniter: страница профиля пользователя

Здравствуйте, у меня есть проблема со страницей профиля пользователя в 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

И я хочу знать, как отображать данные пользователя в представлении

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

// ================= следующий вопрос

я попробовал, но когда я ввожу не существующий идентификатор после пользователя /. , он отображает профиль 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); }
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]