我有一个像
这样的表格<form action="abc/1" method="post">
</form>
我希望每次提交此表单时,我的网址都会保持相同,就像假设我当前的网址
一样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方案相关的东西
答案 0 :(得分:1)
表单的操作与您当前的位置有关。
如果您在http://example.com/contact
并且表单的操作设置为contact/send
,则表单会发送到http://example.com/contact/contact/send
现在,通过删除contact/
可以轻松解决此问题。 part形成action属性或在action属性的开头添加/
,因此路径是绝对的 - /contact/send
。
在CodeIgniter中执行此操作应该相对简单,因为您可以使用URL Helper指向应用程序中的正确URL。
<form action="<?php echo site_url('abc/1'); ?>" method="post">
</form>
此示例将始终指向相对于application/config/config.php
中base_url和index_page设置的页面。
在你的案例中,在评论中提到,与<?php echo site_url('home/authenticateUser/' . $user_id); ?>
一起的内容可能就是答案。
答案 1 :(得分:0)
尝试
<form action="/abc/1" method="post">
</form>
或者您最好使用site_url
<form action="<?php echo site_url('abc/1');?>" method="post">
</form>
答案 2 :(得分:0)
将操作从“abc / 1”更改为“/ abc / 1”将起作用,但如果您在子目录中构建应用程序(通常是本地主机开发环境中的情况),则会恢复为您的htdocs文件夹,而不是您所需的文件夹。
我建议使用以下两个选项之一:
<form action="<?php echo base_url(abc/1); ?" method="post">
<?php form_open('abc/1')' ?>
数字2是更好的,因为它与CodeIgniter的CSRF功能一起使用,并自动添加base_url()。
希望这有帮助。