0

我有一个像

<form action="abc/1" method="post">

</form>

我希望每次提交此表单时我的 URL 都保持不变,就像假设我当前的 URL 是

http://localhost/abc/1 after form submit it should be again 
http://localhost/abc/1

but instead this it become
http://localhost/abc/1
http://localhost/abc/abc/1
http://localhost/abc/abc/abc/1 each time I press submit button in form.

它与代码点火器中 mvc 的 URL 方案有关

4

3 回答 3

1

表单的操作与您当前的位置相关。

如果您正在打开http://example.com/contact并且您的表单的操作设置为contact/send发送到http://example.com/contact/contact/send现在的表单,则可以通过删除操作属性的contact/部分表单或在操作属性/的开头添加 a 来轻松解决此问题,因此路径是绝对的 - /contact/send.

在 CodeIgniter 中执行此操作应该相对容易,因为您可以使用URL Helper指向应用程序中的正确 URL。

<form action="<?php echo site_url('abc/1'); ?>" method="post">

</form>

此示例将始终将您指向与您的 base_url 和 index_page 设置相关的页面application/config/config.php

在您的情况下,在评论中提到,<?php echo site_url('home/authenticateUser/' . $user_id); ?>可能会是答案。

于 2013-03-26T06:58:06.240 回答
0

试试喜欢

<form action="/abc/1" method="post">

</form>

否则你最好使用 site_url 之类的

<form action="<?php echo site_url('abc/1');?>" method="post">

</form>
于 2013-03-26T09:07:59.227 回答
0

将操作从 "abc/1" 更改为 "/abc/1" 将起作用,但如果您在子目录中构建应用程序,这通常是在 localhost 开发环境中的情况,这将恢复到您的 htdocs 文件夹,如与您所需的文件夹相反。

我会推荐以下两种选择之一:

  1. <form action="<?php echo base_url(abc/1); ?" method="post">
  2. <?php form_open('abc/1')' ?>

2 号更好,因为它与 CodeIgniter 的 CSRF 功能一起使用,并自动添加 base_url()。

希望这可以帮助。

于 2013-03-26T15:43:36.710 回答