php codeigniter 控制器在发布后不执行操作
我有一个将搜索查询发布到我的“搜索”控制器的表单:
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Codeigniter 中,如果您从 Input 类请求 POST 变量,它将返回该值;如果该值为空(个人经验)或未找到,它将返回 FALSE。
因此,也许可以放入一个带有虚拟值的隐藏字段,然后在每次提交时检查该值。然后您可以执行验证和重定向。无论是否提供搜索查询,这都将起作用。
if
之后的;
不是有效的 PHP。例如:
希望我理解正确。
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 youif
is not valid PHP.For Example:
Hope I understood that correctly.