【发布时间】:2012-12-21 12:41:04
【问题描述】:
一、相关代码:
查看
<div id="search">
<?= form_open('sheet/search') ?>
<?= form_input('search_query', '', 'id="search_query" placeholder="Search Sheet Music"') ?>
<?= form_submit('submit', 'Search!', 'class="hidden"') ?>
<?= form_close() ?>
</div>
控制器表/搜索
public function search()
{
if ($this->input->post('search_query'))
{
// blah
// [ ... ]
$_POST 完全为空。
到底是什么?烦人的是,其他形式在我的网站上工作得很好。此外,这在我的测试服务器上完美运行......所以我猜我的配置文件、.htaccess 或其他东西有些不正常。但是,我不知道是什么原因造成的。
如果您有想法并需要更多信息,请随时指定。我只是不知道去哪里看,或者改变什么!任何帮助将不胜感激。
谢谢!
编辑 2013 年 1 月 8 日
好的,我发现了。当我的索引页从 config/config.php 中删除时,搜索不起作用。但是,当它被添加时,它确实有效。
仍然没有任何意义。
下面是我的 .htaccess 文件。认为我需要以某种方式对其进行修改?我完全不知道为什么它仍然不起作用,但这是朝着正确方向迈出的一步。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|sheet|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
【问题讨论】:
-
你不应该使用“="...
-
@SureshKamrushi 它在 PHP 5.4 中自动启用,并且 CodeIgniter 会在必要时自动重写它们。
-
你怎么知道
$_POST完全是空的?你var_dump($_POST)吗? -
我曾经遇到过这样的问题,而且非常简单。出于某种原因,在我的生产服务器上,我必须将 www 作为表单发布到的 url 的一部分,否则 302 重定向正在清除 post 数组。
-
您是否正在为工作表/搜索控制器进行某种路由?我注意到如果您将搜索查询作为参数添加到 URL。像这样:
http://apollomix.com/sheet/search/world控制器似乎工作正常。这可能意味着您的路线需要修改。
标签: php codeigniter