codeigniter - Fatal error: Call to undefined method User_m::get() in C:\xampp\htdocs\cms\application\controllers\admin\user.php on line 18 -
when open link 'http://127.0.0.1/cms/index.php/admin/user/edit/1' user_m model
<?php class user_m extends ci_model{ protected $_table_name = 'users'; protected $_order_by = 'name'; public $rules = array( 'email' => array( 'field' => 'email', 'label' => 'email', 'rules' => 'trim|required|valid_email|xss_clean' ), 'password' => array( 'field' => 'password', 'label' => 'password', 'rules' => 'trim|required' ) ); public $rules_admin = array( 'name' => array( 'field' => 'name', 'label' => 'name', 'rules' => 'trim|required|valid_email|xss_clean' ), 'order' => array( 'field' => 'order', 'label' => 'order', 'rules' => 'trim|is_natural' ), 'email' => array( 'field' => 'email', 'label' => 'email', 'rules' => 'trim|required|valid_email|callback__unique_email|xss_clean' ), 'password' => array( 'field' => 'password', 'label' => 'password', 'rules' => 'trim|matches[password_confirm]' ), 'password_confirm' => array( 'field' => 'password', 'label' => 'password', 'rules' => 'trim|matches[password]' ) ); public function __construct() { parent::__construct(); } public function login() { $user = $this->db->get_where('users', array( 'email' => $this->input->post('email'), 'password' =>$this->hash($this->input->post('password')) ), true); if (count($user)) { $data = array( 'name' => $user->name, 'email' => $user->email, 'id' => $user->id, 'loggedin' => true, ); $this->session->set_userdata($data); } } public function logout() { $this->session->sess_destroy(); } public function loggedin() { return (bool) $this->session->userdata('loggedin'); } public function hash($string) { return hash('sha512', $string . config_item('encryption_key')); } }
this user controller
<?php class user extends admin_controller{ public function __construct() { parent::__construct(); } public function index() { $this->data['users'] = $this->db->get_where('users'); $this->data['subview'] = 'admin/user/index'; $this->load->view('admin/_layout_main', $this->data); } public function edit($id=null) { $id == null || $this->data['user'] = $this->user_m->get($id); $this->data['subview'] = 'admin/user/edit'; $this->load->view('admin/_layout_main', $this->data); } public function delete($id) { } public function login() { $dashboard = 'admin/dashboard'; $this->user_m->loggedin() == false || redirect($dashboard); $rules = $this->user_m->rules; $this->form_validation->set_rules($rules); if ($this->form_validation->run()==true) { if ($this->user_m->login() == true) { redirect($dashboard); }else{ $this->session->set_flashdata('error', 'that email , password combination not exit'); redirect('admin/user/login', 'refresh'); } } $this->data['subview'] = 'admin/user/login'; $this->load->view('admin/_layout_modal', $this->data); } public function logout() { $this->user_m->logout(); redirect('admin/user/login'); } }
this edit file.
<div class="modal-header"> <h3><?php echo empty($user->id) ? 'add new user' : 'edit user' . $user->name; ?></h3> </div> <div class="modal-body"> <?php echo '<pre>' . print_r($this->session->userdata, true) . '</pre>'; ?> <?php echo validation_errors(); ?> <?php echo form_open(); ?> <table class="table"> <tr> <td>email</td> <td><?php echo form_input('email'); ?></td> </tr> <tr> <td>password</td> <td><?php echo form_password('password'); ?></td> </tr> <tr> <td></td> <td><?php echo form_submit('submit', 'log in', 'class="btn btn-primary"'); ?></td> </tr> </table> <?php echo form_close(); ?> </div>
this index file
<section> <h2>users</h2> <?php echo anchor('admin/user/edit', '<i class="icon-plus"></i> add user'); ?> <table class="table table-striped"> <thead> <tr> <th>email</th> <th>edit</th> <th>delete</th> </tr> </thead> <tbody> <?php if(count($users)): foreach ($users->result() $user): ?> <tr> <td><?php echo anchor('admin/user/edit/' . $user->id, $user->email); ?><td> <td><?php echo btn_edit('admin/user/edit/'. $user->id); ?><td> <td><?php echo btn_delete('admin/user/delete/' . $user->id); ?><td> </tr> <?php endforeach; ?> <?php else: ?> <tr> <td colspan="3">we not find user</td> </tr> <?php endif; ?> </tbody> </table> </section>
in parent construct area on controller try loading model way function in controller have access model else can load model in edit function
i can see there no get function in model also.
public function __construct() { parent::__construct(); $this->load->model('user_m'); // filename should user_m.php same class }
or
public function edit($id=null) { $this->load->model('user_m'); // filename should user_m.php same class $id == null || $this->data['user'] = $this->user_m->get($id); $this->data['subview'] = 'admin/user/edit'; $this->load->view('admin/_layout_main', $this->data); }
also see ip address loaded in url. if using ci3 versions in config.php must set value.
$config['base_url'] = '';
to
$config['base_url'] = 'http://localhost/your_project_name/';
Comments
Post a Comment