繁体   English   中英

在网址中找不到带有斜杠的Codeigniter页面

[英]Codeigniter page not found with trailing slash in url

我在使用codeiginiter的地方有这样的形式:

<form action="announcements/submit_announcement" method="post" id="announcement_form">

announcements是我的控制者。

如果我在www.mysite.com/home上并且提交了表格,则它可以正常运行。 但是,如果我在www.mysite.com/home/上,它将在末尾附加文本,从而导致www.mysite.com/home/announcements/submit_announcement。

然后它将得到一个找不到页面。

这里发生了什么? Codeiginiter难道不应该想到这一点,并且不会发生吗? 对此感到失望

有人对此有解决办法吗?

只需使用codeigniter form_open(),它会使事情变得更加容易。 在助手中的应用程序/自动加载中,包括自动加载或在控制器中加载的表格

$ this-> load-> helper('form');

然后在您看来

echo form_open('announcements/submit_announcement','id="announcement_form"');

请注意,我在此处将您的ID作为字符串传递给您,但是您也可以为数组添加一个变量,例如您正在使用引导程序并想添加一个类。

手册中的更多内容: https : //codeigniter.com/user_guide/helpers/form_helper.html#form_open请注意,阅读手册可能会为您节省更多的“失望” :-)

使用以下内容代替您现在使用的内容

<form action="<?php echo site_url('announcements/submit_announcement');?>" method="post" id="announcement_form">

现在测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM