表单操作 url 在 codeigniter 中不起作用

Form action url not working in codeigniter

我正在尝试在表单操作中使用 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

应该是

<form method="post"  action="<?php echo base_url()?>index.php/main_controller/test">

以及 base_url() 应该定义为(application/config/config.php)

https://whosebug.com/
                        ^ on the end

$config['base_url'] = 'https://whosebug.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

<form method="post"  action="<?php echo base_url().'/main_controller/test/'; ?>">

像这样使用并在 http://www.example.com/ config.php 文件

中定义基础 url

为了使用 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 中添加基数 url。例如,

$config['base_url'] = 'http://example.com/';

默认情况下,index.php 文件将包含在您的 URL 中:您可以使用 .htaccess file 从操作 url 中删除 index.php。请阅读documenation

您应该做的第一件事是转到 Codeigniter 项目文件夹中的以下目录;

your_codeigniter_project_name/application/config/config.php

并查找类似的配置代码;

$config['base_url'] = 'http://localhost/';

现在确认您的基本 URL 配置指向您的项目目录;如果这是一个正在您的本地主机上工作的项目,那么 link 应该是这样的;

$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">