Codeigniter中的表单操作将添加到现有URL中

时间:2012-07-25 15:18:44

标签: codeigniter-2

我是codeigniter的新手,我正面临一个小问题。我有一个名为“test”的控制器,想在该控制器中调用“edit_details”动作。这是我正在开发的测试应用程序。我想更新用户的信息,我通过(URL段)URL发送用户ID:“http://localhost/codeigniter/index.php/test/edit/12”作为示例。编辑操作会使用可以输入用户详细信息的表单加载视图。这是使用视图中的锚点(每个记录旁边的编辑链接)完成的。主播:“测试/编辑/ $ row-> id”。到目前为止,一切都很好。

问题是当我提交带有'test / update_details'动作的表单时,url会变成“http://localhost/codeigniter/index.php/test/edit/test/update_details'”。 edit_details动作加载一个模型然后完成数据库的工作。使用视图中的隐藏字段发送id。

我不确定这里出了什么问题。当我调用控制器时,URL似乎没有改变。它保持不变或附加到现有URL。我试过谷歌搜索解决方案,但无法找到任何解决方案。

我还没有删除我的index.php,因为这是一个测试应用程序。 我在配置文件中的基本URL是:“http:// localhost / codeigniter /” 自动加载的助手是:form和url 自动加载的库是:数据库

提前致谢。

1 个答案:

答案 0 :(得分:0)

听起来你需要使用base_url()传回表单。 换句话说:

http://localhost/codeigniter/index.php/test/edit/test/update_details

错了。我相信你真的想把编辑视图细节传递给:

http://localhost/codeigniter/index.php/test/update_details

通过提交,你的网址搞砸了。 您的form_open应如下所示:

echo form_open(base_url()."test/update_details");