html строка поискового запроса для отображения на другой странице - PHP для выполнения задачи - PullRequest
0 голосов
/ 09 декабря 2011

Хорошо, это заставило меня некоторое время биться головой, я публиковал сообщения на других форумах, но в лучшем случае информация отрывочна, надеюсь, вы, ребята, можете помочь.

Scenerio

У меня есть целевая страница html с полем поиска. вот форма:

<form method="get" action="URL TO EXTERNAL SEARCH" target=content>

    <fieldset>


            <input type="text" class="text" name="keywords" value="Search" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"maxlength="30" />


            <input type="image" src="images/topnav/btn_search.png" class="button" />
      </fieldset>
    </form>

Таким образом, он, очевидно, берет запрашиваемую строку и отправляется в ВНЕШНИЙ домен, который обрабатывает строку и возвращает результат в виде HTML-страницы, которая, в свою очередь, отображает ее в Iframe с именем «content» на той же странице.

<iframe src="DEFAULT CONTENT" name="content" width="803" height="1200" align="left">

работает лакомство, однако

ПРОБЛЕМА

У меня есть другие страницы, которые НЕ содержат Iframe, но содержат поле поиска.

ЧТО Я ДОЛЖЕН ДОСТИГАТЬ :

Мне нужно ввести строку поиска на html-странице, которая НЕ содержит Iframe, и отобразить в Iframe на другой html-странице.

Я думал об использовании javascript / jquery, но из-за проблем безопасности на разных сайтах он не работает, поэтому PHP Я знаю, что это можно сделать, но не знаю, как это сделать.

Любые предложения помощи будут с благодарностью.

Thankyou

************ UPDATE *************** *****

Пока что есть предложения, но у меня есть несколько вопросов:

Спасибо за ответ, но у меня есть пара вопросов, так что извините за мое невежество.

"landingpage.html" содержит поле поиска, но не содержит Iframe для отображения результатов поиска. «displaypage.html» содержит окно поиска и Iframe для отображения результатов поиска.

"displaypage.html" работает нормально; он отправляет строку запроса на ВНЕШНИЙ сервер, который возвращает HTML-страницу, которую я отправляю в Iframe в «displaypage.html».

"landingpage.html" должен направить поисковый запрос в "mysearchhandler.php", который, в свою очередь, обрабатывает запрос и возвращает полученную html-страницу в Iframe, расположенный в "displaypage.html"

Это то, что мне нужно для того, чтобы это произошло, у меня должна быть опция поиска на всех моих страницах без IFrame и возможность перенаправлять их на "displaypage.html"

Моя проблема в недостаточном понимании PHP, поэтому я очень благодарен за вашу помощь, ребята, но, если возможно, вы могли бы разместить код в контексте соответствующих страниц, мне будет легче понять, куда идет код и что он делает .

Я получаю этап, на котором я собираюсь заплатить за код, но я бы хотел


Кто-нибудь?


1 Ответ

0 голосов
/ 09 декабря 2011

То, что вы могли бы сделать, это иметь служебную страницу, которая обрабатывает поиск через PHP и возвращает ожидаемую страницу.

<form method="get" action="mysearchhandler.php" target=content>
    <input type="hidden" name="currentPage" value="thispage.php" />

А в mysearchhandler.php вы можете использовать http_get http://www.php.net/manual/en/function.http-get.phpвниз информацию со страницы внешнего поиска.Используйте его с http_parse_message http://www.php.net/manual/en/function.http-parse-message.php

. Используйте скрытое поле, чтобы указать, какую страницу следует возвращать, и обновите страницу для поиска данных поиска.*

$search = clean($_POST['keywords']);
$currentPage = clean($_POST['currenPage']);

$url  = <external search url with get parameters>
$searchResults = http_parse_message(http_get($url))->body;

//Need to validate $currentPage to prevent faked user input
include($currentPage); //Depending on your file system you may need to adjust this

Тогда на своей странице вы можете добавить:

if(exists($searchResults))
{
    <Code to display the results>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...