2015-10-07 3 views
1

У меня проблема: у меня есть представление, которое нужно вызвать методом в моем контроллере EmployeeController, чтобы перейти на страницу, чтобы добавить сотрудника. Но это не работает .. и с другими видами он ланьКнопка в представлении не вызывает метод в контроллере

Это мнение:

<body> 
     <form class="form-horizontal" id='employeeform' id='employeeform' action="<?php echo base_url();?>EmployeeController/addEmployee" method="post"> 
      <div class="container"> 
      <div class="row"> 
      <div class="col-lg-12 col-sm-12"> 
       <table class="table table-striped table-hover"> 
        <thead> 
         <tr> 
           <th>#</th> 
           <th>ID</th> 
           <th>Naam werknemer</th> 
          <th>Datum aanwerving</th> 
          <th>Salaris</th> 

        </tr> 
       </thead> 
       <tbody> 
        <?php for ($i = 0; $i < count($employeelist); ++$i) { ?> 
          <tr> 
           <td><?php echo ($i+1); ?></td> 
           <td><?php echo $employeelist[$i]->employee_no; ?></td> 
           <td><?php echo $employeelist[$i]->employee_name; ?></td> 
           <td><?php echo $employeelist[$i]->hired_date; ?></td> 
           <td><?php echo $employeelist[$i]->salary; ?></td> 
          </tr> 
        <?php } ?> 
       </tbody> 
      </table> 
     <input id="btn_add" name="btn_add" type="submit" class="btn btn-primary" value="Add employee" /> 
     </div> 
     </div> 
     </div> 
     </form> 
    </body> 

ЭТО CONTROLLER:

класс EmployeeController расширяет CI_Controller {

public function __construct() { 
    parent::__construct(); 
    $this->load->library('session'); 
    $this->load->helper('form'); 
    $this->load->helper('url'); 
    $this->load->database(); 
    $this->load->library('form_validation'); 
    //load the employee model 
    $this->load->model('employee_model'); 
} 

//index function 
function index() { 
    $employeelist = $this->employee_model->get_employee_list(); 
    $data['employeelist'] = $employeelist; 
    $this->load->view('employee/employee_add', $data); 
} 

function createEmployee() { 
    $this->form_validation->set_rules('employee_no', 'Employee No', 'trim|required|numeric'); 
    $this->form_validation->set_rules('employee_name', 'Employee Name', 'trim|required|xss_clean|callback_alpha_only_space'); 
    $this->form_validation->set_rules('hired_date', 'Hired Date', 'required'); 
    $this->form_validation->set_rules('salary', 'Salary', 'required|numeric'); 

    if ($this->form_validation->run() == FALSE) { 
     //fail validation 
     $this->load->view('employee/employee_add'); 
    } else { 
     //pass validation 
     $data = array(
      'employee_no' => $this->input->post('employeeno'), 
      'employee_name' => $this->input->post('employeename'), 
      'hired_date' => @date('Y-m-d', @strtotime($this->input->post('hireddate'))), 
      'salary' => $this->input->post('salary'), 
     ); 

     //insert the form data into database 
     $this->db->insert('tbl_employee', $data); 

     //display success message 

     $employeeresult = $this->employee_model->get_employee_list(); 
     $data['employeelist'] = $employeeresult; 
     //load the department_view 
     $this->load->view('employee/employee_view', $data); 
     redirect('employee/employee_view'); 
    } 
} 

function addEmployee() { 
    $this->load->view('employee/employee_add'); 
    //set validation rules 
} 
} 
?> 

ОШИБКА: Я получаю: Запрашиваемый URL /BoMaTec_afstudeerproject/CodeIgniter-3.0.1/EmployeeController/createEmployee не найден на этом сервере.

+0

Это работает, если вы удаляете '' Из действия формы в представлении? –

+0

Почему у вас есть два идентификатора в теге формы? 'id = 'employeeform' id = 'employeeform''. Кроме того, что показывает html как действие формы при просмотре в вашем инструменте dev? –

+0

нет .. я добавил базовый url, потому что я нашел в Интернете, это лучше. Но без, это не работает – belgiums

ответ

0

Похоже, что у вас нет маршрутизатора для этого URL-адреса, или маршрутизатор ошибочен. В соответствии с этой ошибкой он пытается загрузить папку с именем EmployeeController и внутри этой папки, другую папку с именем createEmployee. Проверьте файл .htaccess и ваши маршрутизаторы в рамках, которые вы используете.

+0

Это может быть, вы знаете, что мне нужно добавить? – belgiums

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