我的搜索表格存在奇怪的问题。输入关键字并执行搜索请求后,我得到空参数值。
例如,我在搜索字段中输入单词“something”
我看到一个空值:
search.php?keyword=
在此之后我输入关键字“else”,我接受:
search.php?keyword=something
代替search.php?keyword=else
他们不知何故出现“退后一步”
我尝试使用print_r和var_dump进行调试,但我只能打印一些不能解释我问题的值。
我错过了一些非常微不足道的事情吗?
这就是我所拥有的:
我的班级功能:
public function show_search_result() {
$this->search_keywords = strip_tags($_GET['keyword']);
$this->_db->query("SELECT * from posts WHERE post_title LIKE '%$this->search_keywords%' OR post_content LIKE '%$this->search_keywords%' LIMIT 100");
$this->rows_results_found = $this->_db->resultset();
}
我的表单:
<form action="search.php?keyword=<?php
if (isset($search_results->rows_results_found) && isset($_POST['search_requested'])) {
print strip_tags($_POST['search_keywords']);
}
?>" method="post">
<input type="hidden" name="search_requested">
<input type="text" name="search_keywords" value="<?php
if (isset($search_results->rows_results_found) && isset($_POST['search_requested'])) {
print strip_tags($_POST['search_keywords']);
}
?>"><input type="submit" value="Search">
</form>
答案 0 :(得分:0)
<form action="" method=get>
<input type=text id=se>
<?php
if($_GET != null){
$sekw = $_GET ['se'];
$sql = //the query like='$sekw' limit=100;
?>
<input type=submit>
</form>
一个简单的代码。
您的问题是,当您发送表单时,它会保存关键字直到第二次发送。
答案 1 :(得分:0)
将您的方法从post改为get。我还建议你使用一个简单快速编码的框架。一些包括symfony2,laravel