访问外部ajax search.php中的$ _GET变量

时间:2015-01-29 10:13:12

标签: php

我刚刚为我的网页设置了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中访问它)

3 个答案:

答案 0 :(得分:2)

你有几个选择,这是第一个想到的选择;
您也可以从URL中读取javascript中的GET变量,并将它们作为参数传递给search.php(这里您可以选择使用GET或POST,从功能上来说这并不重要)。登记/> 或者,您可以将它们保存在$_SESSION中,并在search.php中阅读这些值。这确实需要在同一个域上执行search.phpindex.php,否则您必须使用Cookie构建一些技巧。

答案 1 :(得分:0)

请尝试使用$ _REQUEST ['类别']而不是$ _GET ['类别']。你可能会访问你的变量。

答案 2 :(得分:0)

[...]

if(isset($ _ GET ['category'])&&!empty($ _ GET ['category'])){

[...]

这项检查就足够了。