2013-05-05 3 views
1

У меня не получилось много раз выяснить, почему атрибут действия моей формы работает неправильно, когда я нажимаю кнопку отправки.Действие формы CodeIgniter не работает должным образом

Все, что я хотел сделать, это передать данные формы контроллеру. Но то, что происходит в том, что браузер просто перенаправляет меня на другую страницу (на локальном хосте, даже URI правильно запитывается.)

<form name = "employee" method = "post" action = "<?php echo base_url() .'employee/add_employee'; ?>"> 
First Name: <input type = "text" name = "F_Name"> 
Middle Name: <input type = "text" name = "M_Name"> 
Last Name: <input type = "text" name = "L_Name"> 
<input type = "submit" value = "save"> 
</form> 

Вот функция add_employee в моей employee.php (с именем класса «Employee «):

public function add_employee(){ 

    $employee = array(
    'F_Name' => $this->input->post('F_Name'), 
    'M_Name' => $this->input->post('M_Name'), 
    'L_Name' => $this->input->post('L_Name') 
    ); 

    $this->Employee_model->insert_employee($employee); 

    echo "Employee added!<br />"; 
} 

Я не думаю, что Employee_model проблема, поэтому я не буду добавлять его здесь. Я предполагаю, что проблема связана с URL-адресом в моей форме.

Почему браузер перенаправляет меня на другую страницу вместо выполнения функции add_employee()?

+0

Почему бы не использовать хелпер формы из codeigniter? Какая ссылка на другую страницу? У вас есть выход? Кроме того, вы можете получить доступ к столбцу $ this-> input-> из вашей модели. – Simon

+0

Да, я использую '$ this-> input-> post' в моей модели. Но проблема в том, что функция контроллера по какой-то причине не достигается. – Arman

+0

У вас есть ошибка в вашем php? Попробуйте просто что-то повторить в функции add_employee. – Simon

ответ

1

Итак, после долгого обсуждения, вот решение:

В вашем Htaccess, вы должны были изменить

RewriteBase /CI/ в RewriteBase /CI_Practice2

Кроме того, может быть, вы должны сделать это с MAMP (Может быть, нет)

локальный: 8080/CI_Practice2

Это если вы не изменить значения по умолчанию порты MAMP.

Имейте славный день

+0

Также я помню, что я получил установщик WAMP более года назад. Обновление этого может решить проблему, я думаю. Благодарю. – Arman

2

Использование site_url()

Попробуйте

<form name = "employee" method = "post" action = "<?php echo site_url('employee/add_employee'); ?>"> 
+0

Я пробовал, но тот же результат случается. – Arman