【问题标题】:Form action url not working in codeigniter表单操作 url 在 codeigniter 中不起作用
【发布时间】:2017-09-17 22:57:42
【问题描述】:
我正在尝试在表单操作中使用 url,而不在 codeigniter 中使用表单助手,但它不起作用。
<form method="post" action="<?php echo base_url().'test'; ?>">
<form method="post" action="/main_controller/test">
控制器功能
public function test(){
echo "test function";
}
我遇到的错误
http://prntscr.com/eyzhdd
【问题讨论】:
标签:
php
codeigniter
base-url
【解决方案1】:
应该是
<form method="post" action="<?php echo base_url()?>index.php/main_controller/test">
base_url() 也应该定义为(application/config/config.php)
https://stackoverflow.com/
^ on the end
$config['base_url'] = 'https://stackoverflow.com/'; # Line 26 if version 3.0+
<?php echo base_url()?>index.php/main_controller/test
^ ^ ^ ^
base URL index Controller Name Method name
查看Codeigniter documentation。
【解决方案2】:
<form method="post" action="<?php echo base_url().'/main_controller/test/'; ?>">
像这样使用并在 http://www.example.com/ config.php 文件中定义基本 url
【解决方案3】:
为了使用base_url(),您必须首先加载 URL Helper。这可以在application/config/autoload.php(大约第 67 行)中完成:
$autoload['helper'] = array('url');
或者,在控制器中手动:
$this->load->helper('url');
然后改变
<form method="post" action="<?php echo base_url().'test'; ?>">
到
<form method="post" action="<?php echo base_url()?>index.php/main_controller/test">
最后在 application/config/config.php 中添加 base url。例如,
$config['base_url'] = 'http://example.com/';
默认情况下,index.php 文件将包含在您的 URL 中:您可以使用 .htaccess file 从操作 URL 中删除 index.php。请阅读documenation
【解决方案4】:
您应该做的第一件事是转到您的 Codeigniter 项目文件夹中的以下目录;
your_codeigniter_project_name/application/config/config.php
并寻找类似的配置代码;
$config['base_url'] = 'http://localhost/';
现在确认您的基本 URL 配置指向您的项目目录;如果它是在您的本地主机上工作的项目,那么链接应该如下所示;
$config['base_url'] = 'http://localhost/your_project_name/';
现在关于表单操作;如果您的 Codeigniter 项目文件夹的根目录中已经有一个 .htacess 文件,那么您的表单操作 URL 应编写如下;
<form method="post" action="<?php echo base_url()?>main_controller/test">
如果您的项目根目录中没有 .htaccess 文件,那么表单操作 URL 应该是;
<form method="post" action="<?php echo base_url()?>index.php/main_controller/test">