【问题标题】:codeigniter form post from a folder inside controller not working控制器内部文件夹中的codeigniter表单发布不起作用
【发布时间】:2014-03-22 09:57:49
【问题描述】:

所以,这是我的问题。

在 codeigniter 中,我在控制器中有一个名为 admin 的文件夹,其中有一个控制器 admin.php。 问题是当我尝试从这个控制器发布一个表单到管理文件夹外的控制器时,它不起作用。我真的很沮丧,试图弄清楚我到底在哪里做错了。

我的 routes.php 是-

$route['admin/(:any)'] = "admin/$1";
$route['(:any)'] = "welcome/$1";

$route['default_controller'] = "welcome";
$route['404_override'] = '';

我的基本网址是$config['base_url'] = 'http://localhost/ci_extend/';

实际上,表单正在发布给自己。 我知道,肯定有路由问题,但就是想不通。有人可以帮帮我吗?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    由于您的控制器位于名为 admin.php 的管理文件夹中 你应该把它路由如下

    $route['admin/(:any)'] = "admin/admin/index/$1";
    

    我已经包含了函数名,即index,我想函数名是必需的,如果你愿意,可以不带函数名,但我认为保留它没有任何问题。

    接受的答案

    更改$route['(:any)'] = "welcome/$1"; > $route['welcome/(:any)'] = "welcome/$1"; & 如果使用<form> 确保CSRF 已禁用或您在表单中包含CSRF 令牌

    【讨论】:

    • 它也不起作用,实际上表单正在发布给自己。
    • 你使用form_open('admin'); ?
    • 没有。它的
    • 更改 $route['(:any)'] = "welcome/$1"; > $route['welcome/(:any)'] = "welcome/$1"; & 如果使用
      确保 CSRF 已禁用或您在表单中包含 CSRF 令牌
    • 谢谢,成功了!您应该编辑您的答案,以便我可以接受。再次感谢! :)
    猜你喜欢
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多