CodeIgniter's form action is not working properly

大城市里の小女人 提交于 2019-12-11 13:09:57

问题


I have failed many times to figure out why the action attribute of my form is malfunctioning when I click the submit button.

All I wanted to do is to pass the form data to the controller. But what's happening is that the browser is just redirecting me to another page (on localhost, even the URI is correctly supplied.)

<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>

Here's the add_employee function in my employee.php (with the class name of '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 />";
}

I don't think the Employee_model is the problem, so I won't add it here. I'm guessing that the problem has to do with the URL in my form action.

Why is the browser redirecting me to another page instead of executing the add_employee() function?


回答1:


So after a long discussion, here is the solution :

In your htaccess, you had to change

RewriteBase /CI/ into RewriteBase /CI_Practice2

Also, maybe you have to do this with MAMP (Maybe not)

localhost:8080/CI_Practice2

It's if you didn't change the defaults ports of MAMP.

Have a nice day




回答2:


Use site_url()

Try this

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


来源:https://stackoverflow.com/questions/16389485/codeigniters-form-action-is-not-working-properly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!