Переменная переменная Google Пользовательская поисковая система
-
21-09-2019 - |
Вопрос
Можно ли передать переменную поиска в поисковую систему Google, которую я встроил на свой веб -сайт? Я могу заставить поисковую систему работать, но я не могу передать ему термин через пост (она поступает из кнопки поиска на других страницах веб -сайта)
Я попытался взломать код, который я нашел здесь: http://code.google.com/apis/ajax/playground/?exp=search#hello_world
И это то, что у меня есть до сих пор ... ($ Q - это термин, который я передаю ему)
<script type="text/javascript">
google.load('search', '1', {language : 'en'});
function OnLoad()
{
var customSearchControl = new google.search.CustomSearchControl('***my key****');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
searchControl.execute("$q");
}
google.setOnLoadCallback(OnLoad);
</script>
Спасибо
Решение
Извините, я знаю, что это дерьмовый ответ, но вы на самом деле поняли это, кроме ссылки на неправильное имя переменной. О, также, кроме того, я также надеюсь, что вы делаете какую -то чини на $ Q, на случай, если кто -то опубликует что -то подобное в вашу форму: термин »); оповещение (« Ага!
customSearchControl.draw('cse');
searchControl.execute("$q");
должно быть:
customSearchControl.draw('cse');
customSearchControl.execute("$q");
Кроме того, спасибо за вопрос - я искал, как это сделать сам!
Другие советы
Это помогает любому, кто использует PHP, пытается достичь этой же цели. Пример выше используется ...
customSearchControl.execute("$q");
Чтобы прочитать параметр, который проходит. На PHP -сайте вы будете использовать ...
customSearchControl.execute("<?php echo $_POST['your_paramter_name_here'];?>");
Вы можете использовать $ _get или $ _request, если ваш параметр не находится в сообщении.
Конечно, вы должны сначала дезинфицировать вход. Что -то подобное довольно слабое, но это начало ...
customSearchControl.execute("<?php echo htmlentities( trim( $_POST['your_paramter_name_here'] ), ENT_QUOTES );?>");
В случае, если кто -то ищет немного более простого / простого решения. Все, что вам нужно сделать, это перенести ключевые слова поиска в параметр Get Parameter Q. (Из вашей пользовательской формы на страницу, где находится ваш GC), GCS автоматически использует эту поисковую фразу.
Источник: https://developers.google.com/custom-search/json-api/v1/using_rest