2013-01-07 43 views
1

首先,相关代码:


查看

<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] 
+0

你不应该使用“<?=” ... –

+1

@SureshKamrushi它在PHP 5.4,如有必要笨自动重写它们自动启用。 –

+0

你怎么知道'$ _POST'是完全空的?你'var_dump($ _ POST)'? –

回答

3

AHA,我明白了!

的问题是相当狡猾。显然,因为我的.htaccess文件除了sheet目录,并且控制器名称相同,所以CodeIgniter路径中的内容变得麻木了。究竟是什么,我不知道。但很糟糕,显然!

要在未来解决这个问题的人......请确保您的.htaccess文件不与你的控制器搞乱!