【问题标题】:Form Actions in Codeigniter gets added to the existing URLCodeigniter 中的表单操作被添加到现有 URL
【发布时间】:2012-07-25 15:18:43
【问题描述】:

我是 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,因为这是一个测试应用程序。 我在配置文件中的基本网址是:“http://localhost/codeigniter/” 自动加载的助手是:form 和 url 自动加载的库是:数据库

提前致谢。

【问题讨论】:

  • 很难确定这个问题的主要原因。您能否添加您的测试控制器代码?

标签: codeigniter-2


【解决方案1】:

听起来您需要使用 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");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    相关资源
    最近更新 更多