Проблемы с переменной внутри Codeigniter - PullRequest
2 голосов
/ 09 июля 2019

Попытка исправить ошибку, с которой я столкнулся в каком-то коде.

Я пытался редактировать модель, но ничего не помогло. Также отредактировал контроллер, обновил БД, а также убедился, что определенные папки находятся в родительском каталоге. Попытка выяснить, как исправить эту ошибку. Если кто-то может помочь, это будет с благодарностью !!!

Вид:

<?php  
              if(file_exists('/assets/images/'.$user_data[0]->profile_pic) && isset($user_data[0]->profile_pic)){
              $profile_pic = $user_data[0]->profile_pic;
              }else{
              $profile_pic = 'user.png';}?>
              <center> <img class="thumb-image setpropileam" src="<?php echo base_url();?>/assets/images/<?php echo isset($profile_pic)?$profile_pic:'user.png';?>" alt="User profile picture"></center>

Модель:

<?php
class User_model extends CI_Model {       
    function __construct(){            
        parent::__construct();
        $this->user_id =isset($this->session->get_userdata()['user_details'][0]->id)?$this->session->get_userdata()['user_details'][0]->users_id:'1';
    }

    /**
      * This function is used authenticate user at login
      */
    function auth_user() {
        $email = $this->input->post('email');
        $password = $this->input->post('password');
        $this->db->where("is_deleted='0' AND (name='$email' OR email='$email')");
        $result = $this->db->get('users')->result();
        if(!empty($result)){       
            if (password_verify($password, $result[0]->password)) {       
                if($result[0]->status != 'active') {
                    return 'not_varified';
                }
                return $result;                    
            }
            else {             
                return false;
            }
        } else {
            return false;
        }
    }

    /**
     * This function is used to delete user
     * @param: $id - id of user table
     */
    function delete($id='') {
        $this->db->where('users_id', $id);  
        $this->db->delete('users'); 
    }

    /**
      * This function is used to load view of reset password and varify user too 
      */
    function mail_varify() {    
        $ucode = $this->input->get('code');     
        $this->db->select('email as e_mail');        
        $this->db->from('users');
        $this->db->where('var_key',$ucode);
        $query = $this->db->get('cultured_codeignite');     
        $result = $query->row();   
        if(!empty($result->e_mail)){      
            return $result->e_mail;         
        }else{     
            return false;
        }
    }


    /**
      * This function is used Reset password  
      */
    function ResetPpassword(){
        $email = $this->input->post('email');
        if($this->input->post('password_confirmation') == $this->input->post('password')){
            $npass = password_hash($this->input->post('password'), PASSWORD_DEFAULT);
            $data['password'] = $npass;
            $data['var_key'] = '';
            return $this->db->update('users',$data, "email = '$email'");
        }
    }

    /**
      * This function is used to select data form table  
      */
    function get_data_by($tableName='users', $value='', $colum='',$condition='') {  
        if((!empty($value)) && (!empty($colum))) { 
            $this->db->where($colum, $value);
        }
        $this->db->select('*');
        $this->db->from($tableName);
        $query = $this->db->get('cultured_codeignite');
        return $query->result();
    }

    /**
      * This function is used to check user is alredy exist or not  
      */
    function check_exists($table='', $colom='',$colomValue=''){
        $this->db->where($colom, $colomValue);
        $res = $this->db->get($table)->row();
        if(!empty($res)){ return false;} else{ return true;}
    }

    /**
      * This function is used to get users detail  
      */
    function get_users($userID = '') {
        $this->db->where('is_deleted', '0');                  
        if(isset($userID) && $userID !='') {
            $this->db->where('users_id', $userID); 
        } else if($this->session->userdata('user_details')[0]->user_type == 'admin') {
            $this->db->where('user_type', 'admin'); 
        } else {
            $this->db->where('users.users_id !=', '1'); 
        }
        $result = $this->db->get('users')->result();
        return $result;
    }

    /**
      * This function is used to get email template  
      */
    function get_template($code){
        $this->db->where('code', $code);
        return $this->db->get('templates')->row();
    }

    /**
      * This function is used to Insert record in table  
      */
    public function insertRow($table, $data){
        $this->db->insert($table, $data);
        return  $this->db->insert_id();
    }

    /**
      * This function is used to Update record in table  
      */
    public function updateRow($table, $col, $colVal, $data) {
        $this->db->where($col,$colVal);
        $this->db->update($table,$data);
        return true;
    }
}

Вот ошибка:

Серьезность: Уведомление

Сообщение: неопределенная переменная: user_data

Имя файла: views / profile.php

Номер строки: 475

Backtrace:

Файл: /home4/cultured/public_html/application/views/profile.php Строка: 475 Функция: _error_handler

Файл: /home4/cultured/public_html/application/controllers/Login.php Линия: 47 Функция: просмотр

Файл: /home4/cultured/public_html/index.php Строка: 315 Функция: require_once Обнаружена ошибка PHP

Важность: Уведомление

Сообщение: попытка получить свойство необъекта

Имя файла: views / profile.php

Номер строки: 475

1 Ответ

0 голосов
/ 09 июля 2019

поместите код в функции вашего контроллера в номер строки /home4/cultured/public_html/application/controllers/Login.php Line: 47

При возврате данных в представление должен быть массив данных пользователя. Если его нет, вы получите ошибку

$data["user_data"] = ""; // Your user_data query result should be here
$this->load->view("profile", $data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...