我刚刚为我的网页设置了ajax实时搜索功能,我遇到了保留GET
- 变量的问题。
在我的index.php
上,我有很多创建GET
变量的复选框和按钮,例如$_GET['category']
。
这是我的外部search.php
脚本的一部分,当用户搜索时(在index.php上)通过ajax调用:
[...]
$query = 'SELECT row FROM table WHERE';
if (strlen($search_string) >= 1 && $search_string !== ' ') {
$query = $query . ' something LIKE "%'.$search_string.'%" AND';
}
if(!empty($_GET['category'])){
$query = $query . ' category LIKE "%'.$_GET['category'].'%" AND';
}
[...]
现在,正如您可能想象的那样,这个$_GET['category']
变量不起作用。我该如何访问它?
(它在index.php中创建,我想在search.php中访问它)
答案 0 :(得分:2)
你有几个选择,这是第一个想到的选择;
您也可以从URL中读取javascript中的GET变量,并将它们作为参数传递给search.php
(这里您可以选择使用GET或POST,从功能上来说这并不重要)。登记/>
或者,您可以将它们保存在$_SESSION
中,并在search.php
中阅读这些值。这确实需要在同一个域上执行search.php
和index.php
,否则您必须使用Cookie构建一些技巧。
答案 1 :(得分:0)
请尝试使用$ _REQUEST ['类别']而不是$ _GET ['类别']。你可能会访问你的变量。
答案 2 :(得分:0)
[...]
if(isset($ _ GET ['category'])&&!empty($ _ GET ['category'])){
[...]
这项检查就足够了。