php codeigniter 控制器在发布后不执行操作

发布于 2024-12-13 12:05:51 字数 613 浏览 0 评论 0原文

我有一个将搜索查询发布到我的“搜索”控制器的表单:

<div id="search_box">
<?php echo form_open('search'); ?>
<?php echo form_input('searchvalue', 'search...'); ?>
<?php echo form_submit('submit', 'Search!'); ?>
<?php echo form_close(); ?>
</div>

在我的搜索控制器中,我有以下代码:

  public function index()
    {
           $page = 'search';
        $category = 'search';

         if($this->input->post('searchvalue')) {
                  redirect('search/query');
         };


......

}

我的问题是它不会执行重定向。我已自动加载表单助手。我能做些什么来解开这个谜团。这是蝙蝠侠的案子吗?

I have a form that posts a search query to my 'search' controller:

<div id="search_box">
<?php echo form_open('search'); ?>
<?php echo form_input('searchvalue', 'search...'); ?>
<?php echo form_submit('submit', 'Search!'); ?>
<?php echo form_close(); ?>
</div>

In my search controller I have the following code:

  public function index()
    {
           $page = 'search';
        $category = 'search';

         if($this->input->post('searchvalue')) {
                  redirect('search/query');
         };


......

}

My problem is that it won't do the redirect. I have the form helper autoloaded. What can I do to solve this mystery. Is it a case for the batman?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谎言 2024-12-20 12:05:51

在 Codeigniter 中,如果您从 Input 类请求 POST 变量,它将返回该值;如果该值为空(个人经验)或未找到,它将返回 FALSE。

因此,也许可以放入一个带有虚拟值的隐藏字段,然后在每次提交时检查该值。然后您可以执行验证和重定向。无论是否提供搜索查询,这都将起作用。

if 之后的 ; 不是有效的 PHP。

例如:

<div id="search_box">
<?php echo form_open('search'); ?>
<?php echo form_hidden('mysearchform', 'true'); ?>
<?php echo form_input('searchvalue', 'search...'); ?>
<?php echo form_submit('submit', 'Search!'); ?>
<?php echo form_close(); ?>
</div>

public function index() {

$page = 'search';
$category = 'search';

if($this->input->post('mysearchform') != FALSE) {

    // Remember to Validate your Query

    redirect('search/query');
}

}

希望我理解正确。

In Codeigniter if you ask for a POST variable from the Input class it will return the value or FALSE if the value is empty (Personal Experience) or not found.

So Maybe instead put in a Hidden field with a Dummy value and just check for that on each submit. You can then perform validation and redirect. This will then work if the search query is provided or not.

And the ; after you if is not valid PHP.

For Example:

<div id="search_box">
<?php echo form_open('search'); ?>
<?php echo form_hidden('mysearchform', 'true'); ?>
<?php echo form_input('searchvalue', 'search...'); ?>
<?php echo form_submit('submit', 'Search!'); ?>
<?php echo form_close(); ?>
</div>

public function index() {

$page = 'search';
$category = 'search';

if($this->input->post('mysearchform') != FALSE) {

    // Remember to Validate your Query

    redirect('search/query');
}

}

Hope I understood that correctly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文