2014-09-21 3 views
0

Когда я нажимаю на моей пользовательской кнопке редактирования <?php echo anchor('users/edit/'. $user->user_id, '<div class="btn btn-primary"><i class="fa fa-edit"></i> Edit</div>');?>Пользователь не работает

Он посылает мне http://localhost/codeigniter/codeigniter-blog/admin/users/edit/1 но показывает ошибка 404 страница не найдена. '1' пример user_id

Но функция редактирования существует. Как я могу заставить свою функцию редактирования на моем контроллере пользователей работать с идентификатором пользователя. Поэтому, если я нажму на определенном пользователе, он только обновит эту информацию о строках id.

Модель

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Model_user extends CI_Model { 

    protected $id; 

    function getAll() { 
     $query = $this->db->get('user'); 

     if ($query->num_rows() > 0) { 

      return $query->result(); 
      return $query->row('user_id'); 
      return true; 
     } else { 
      return false; 
     } 
    } 

    public function editUser() { 

    } 

    public function getID($user_id) { 
      $user_query = $this->db->get('user'); 

      if ($user_query->num_rows() == 1) { 

        return $user_query->row('user_id', $user_id); 

        return true; 

      } else { 

        return false; 

      } 
     } 
} 

Контроллер

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Users extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 

     $this->load->library('user'); 

     if ($this->session->userdata('isLogged') == TRUE) { 

      return true; 

     } else { 

      redirect('/'); 

     } 
    } 

    public function index() { 
     $this->getList(); 
    } 

    public function edit() { 

     $this->load->library('form_validation'); 

     $this->load->model('users/model_user'); 

     $this->form_validation->set_rules('name', 'Name'); 
     $this->form_validation->set_rules('username', 'Username'); 

     if ($this->form_validation->run() == TRUE) { 

      redirect('users'); 

     } else { 

      $this->getForm(); 
     } 

    } 

    function getForm() { 
     $data['title'] = "Users"; 

     $data['base'] = config_item('HTTP_SERVER'); 

     $data['isLogged'] = $this->user->isLogged(); 

     $this->load->model('users/model_user'); 

     $data['users'] = $this->model_user->getAll(); 

     $data['header'] = $this->load->view('template/common/header', $data, TRUE); 
     $data['footer'] = $this->load->view('template/common/footer', NULL, TRUE); 

     return $this->load->view('template/users/users_form', $data); 
    } 

    function getList() { 
     $data['title'] = "Users"; 

     $data['base'] = config_item('HTTP_SERVER'); 

     $data['isLogged'] = $this->user->isLogged(); 

     $this->load->model('users/model_user'); 

     $data['text_enabled'] = "Enabled"; 
     $data['text_disabled'] = "Disabled"; 

     $data['users'] = $this->model_user->getAll(); 

     $data['header'] = $this->load->view('template/common/header', $data, TRUE); 
     $data['footer'] = $this->load->view('template/common/footer', NULL, TRUE); 

     return $this->load->view('template/users/users_list', $data); 
    } 

} 
+0

Какова ваша база URL в конфигурации? Якорные функции создают URL-адрес с base_url, возможно, он настроен на «..admin /», в этом случае вы должны поместить ваш контроллер в папку администратора в контроллерах. – Iamzozo

+0

Базовые контроллеры все равно все отлично работает, но не работает, когда пользователь user_id заканчивается после 'edit /' его что-то в функции редактирования, я думаю. – 2014-09-21 09:55:36

ответ

0

Может быть, вы пропустите использовать index.php в URL

(OR)

Использовать ниже код base_url ('');

<?php 
$url=base_url('users/edit/'. $user->user_id); 
echo anchor($url, '<div class="btn btn-primary"><i class="fa fa-edit"></i> Edit</div>');?> 
+0

Нет проблем не работает. моя функция редактирования не позволяет мне просматривать мою форму, когда у пользователя user_id есть конец uri. – 2014-09-21 09:53:36

+0

вы можете поделиться некоторым рабочим URL. –

+0

Я могу просмотреть страницу http: // localhost/codeigniter/codeigniter-blog/admin/users/edit/с отсутствием идентификатора пользователя в конце, но при нажатии кнопки редактирования пользователя необходимо убедиться, что я могу только обновить этого пользователя и показать там профиль. – 2014-09-21 09:58:21

0

можно просмотреть страницу сейчас, чтобы сделать с маршрутами $route['users/edit/(:num)'] = "users/users/edit/$1";

Смежные вопросы