Codeigniter 表单的 URL 附加问题
Posted
技术标签:
【中文标题】Codeigniter 表单的 URL 附加问题【英文标题】:URL Appending Issues with Codeigniter forms 【发布时间】:2018-06-06 12:43:29 【问题描述】:我在 Codeigniter 中提交表单时遇到问题。当我单击提交按钮登录时,它会路由到这样的 URL:domain.com/www.domain.com/home/login。显然,它应该只是 www.domain.com/home/login。
这似乎与以下问题类似:Code Igniter URL appending,但该用户使用的是常规表单,而我使用的是 CodeIgniter 表单。在他的问题中,使用 CodeIgniter 表单是解决此问题的正确答案,但是,我仍然遇到与他相同的问题。
我的 base_url() 已经在配置中设置了,我都试过了
$this->load->view('/home/home');
和
$this->load->view('home/home');
在控制器功能中。我仍然每次都得到同样的东西。
即使函数是空的,并且实际上只是
public function login()
我仍然遇到双域问题。
因为它可能是相关的,这里是我的 .htaccess 文件:
RewriteEngine On
RewriteBase /eventCentral/
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule .* index.php/$0 [PT,L]
RewriteBase 是必要的,因为这是一个模拟站点,搭载在我的主站点上。
这里是 form_open 标签的代码:
echo form_open('home/login');
echo form_input($userNameField);
echo form_password($passwordField);
echo form_submit($submitButton);
echo form_close();
我也尝试过将表单打开标记为:echo form_open('/home/login');
它仍然给我同样的问题。
我的 base_url 是:
$config['base_url'] = 'www.redwolff.info/eventCentral';
我改变的唯一路线是
$route['default_controller'] = 'Home';
其余的都是以前的。
【问题讨论】:
显示生成表单打开标记的代码,或者如果您只是使用原始 html 显示。 完成。我认为这与您之前帮助我的问题有些相关。我的老师在今年早些时候向我们展示了如何设置代码点火器,但是现在课程结束了,而这在他的课堂上并没有发生,所以我完全不知道为什么现在会发生这种情况。我已经关注了他的视频来达到这一点。唯一的区别是在我们使用我们在类中构建的 linux 服务器之前,现在我正在使用 hostgator。 您的表单打开标签应该没问题。请你告诉我你在 config/config.php 中的 base_url 有什么。另外,您在 config/routes.php 中有任何非默认路由吗? 我在上面的文字中添加了它。 感谢@BrianGottier。这就是问题所在。 【参考方案1】:您的基本 URL 设置不正确。您必须始终包含 http:// 或 https://,并且您最始终包含尾部斜杠。将您的 base_url 更改为:
$config['base_url'] = 'http://www.redwolff.info/eventCentral/';
【讨论】:
以上是关于Codeigniter 表单的 URL 附加问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Codeigniter 将表单输入中的字符串添加到 URL