【问题标题】:CodeIgniter's form action is not working properlyCodeIgniter 表单操作无法正常工作
【发布时间】:2013-04-29 15:53:01
【问题描述】:

当我单击提交按钮时,我多次无法弄清楚为什么我的表单的操作属性出现故障。

我想做的就是将表单数据传递给控制器​​。但是发生的事情是浏览器只是将我重定向到另一个页面(在本地主机上,甚至正确提供了 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() 函数?

【问题讨论】:

  • 为什么不使用来自 codeigniter 的表单助手?什么是其他页面链接?你有输出吗?此外,您可以从模型访问 $this->input->post。
  • 是的,我在我的模型中使用$this-&gt;input-&gt;post。但是问题是控制器的功能由于某种原因没有达到。
  • 你的 php 有错误吗?尝试在函数 add_employee 中回显某些内容。
  • 未发现错误。我只是被重定向到本地主机。这是地址栏中的链接http://localhost/CI_Practice2/employee/add_employee
  • @Arman 我很高兴看到您的问题已得到解决,更新您的问题(添加旧的.htaccess 文件)将对其他有类似问题的人有用;)

标签: php codeigniter forms codeigniter-routing


【解决方案1】:

使用 site_url()

试试这个

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

【讨论】:

    【解决方案2】:

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

    在你的 htaccess 中,你必须改变

    RewriteBase /CI/ 转为RewriteBase /CI_Practice2

    另外,也许你必须用 MAMP 来做这个(也许不是)

    localhost:8080/CI_Practice2

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

    祝你有美好的一天

    【讨论】:

    • 我还记得大约一年多前我得到了我的 WAMP 安装程序。更新这可能会解决我认为的问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多