0

我是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 自动加载的库是:数据库

提前致谢。

4

1 回答 1

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");
于 2012-07-26T22:55:58.510 回答