【问题标题】: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">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-22
        相关资源
        最近更新 更多