Переменная переменная Google Пользовательская поисковая система

StackOverflow https://stackoverflow.com/questions/2298027

Вопрос

Можно ли передать переменную поиска в поисковую систему 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top