Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单在CodeIgniter中被破坏_Php_Forms_Codeigniter_Url Routing - Fatal编程技术网

Php 表单在CodeIgniter中被破坏

Php 表单在CodeIgniter中被破坏,php,forms,codeigniter,url-routing,Php,Forms,Codeigniter,Url Routing,我正在尝试重写我的URL,从/controller/method到index.php?/controller/method,这基本上是可行的,只是表单不能正确提交。我设置了一些路由,但是表单也在非重新路由的URL上中断。这里有一个小背景 我已经将index.php移出到一个单独的web文件夹中,该文件夹是web根目录,因此不可能公开应用程序文件。我不确定这是否会导致这个问题,但我的安装有点不寻常。我的目录结构如下所示: + codeigniter/ + application/ -

我正在尝试重写我的URL,从/controller/method到index.php?/controller/method,这基本上是可行的,只是表单不能正确提交。我设置了一些路由,但是表单也在非重新路由的URL上中断。这里有一个小背景

我已经将index.php移出到一个单独的web文件夹中,该文件夹是web根目录,因此不可能公开应用程序文件。我不确定这是否会导致这个问题,但我的安装有点不寻常。我的目录结构如下所示:

+ codeigniter/
  + application/
    - models, views, etc
  + system/
  + web/
    - .htaccess
    - index.php
    - css, javascript, images, etc
我的.htaccess非常简单:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php?/$1[L]
它在XAMPP for Windows上似乎工作得很好,但在基本的Ubuntu灯堆栈上就坏了。当我提交表格时,什么也没发生。表单定向加载的页面,但好像表单尚未提交

抱歉,还有一条重要信息:如果我把index.php放在那里,那么URL看起来像
/index.php/contacts/edit/1
,它就可以工作了


如果我能提供更多信息,请告诉我。谢谢

结果是.htaccess中我没有包含的一部分导致错误很难找到

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

启用mod_rewrite解决了这个问题。

再描述一下“什么也没发生”。空白页?屏幕上的错误?“同一页重新加载到位?”迈克尔编辑。发生的事情不多,否则我可以更有效地调试它。我希望其他人也看到过类似的事情。当然,错误报告处于打开状态。不确定发送过程中发生了什么,但如果您在表单提交到的方法中执行打印($\u POST),会发生什么情况?请显示表单代码好吗?只有
action=“…”
@theazureshadow,事实上发生了很多事情——很多都是为了发现问题。检查浏览器调试器(如Firebug)中的HTTP重定向或状态消息,并检查服务器php日志中的php错误。
[error] File does not exist: /path/to/web/contacts/edit/1