CodeIgniter的表单操作无法正常工作

时间:2013-05-05 21:48:46

标签: php codeigniter html-form codeigniter-routing

当我点击提交按钮时,我多次没能弄清楚为什么我的表单的action属性出现故障。

我想做的就是将表单数据传递给控制器​​。但是发生的事情是浏览器只是将我重定向到另一个页面(在localhost上,甚至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>

这是我employee.php中的add_employee函数(类名为'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()函数?

2 个答案:

答案 0 :(得分:2)

使用site_url()

试试这个

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

答案 1 :(得分:1)

经过长时间的讨论,这是解决方案:

在你的htaccess中,你必须改变

RewriteBase /CI/加入RewriteBase /CI_Practice2

此外,也许您必须使用MAMP(可能不是)

本地主机:8080 / CI_Practice2

如果您没有更改MAMP的默认端口。

度过愉快的一天