Я хочу, чтобы на моем веб-сайте отображалось окно поиска на моем собственном сайте в iframe на моем сайте (XHTML 1.0 Strict).Как отобразить вывод формы в iframe?
Мне не удалось выяснить, как использовать Google CSE, поэтому я пытаюсь сворачивать свои собственные.
У меня есть тестовый код:
<iframe name='test' id='test'></iframe>
<form action='http://cnn.com' target='test'>
<input type="text" name="q" size="20" maxlength="255" />
<input type='submit' value="Search" />
</form>
<form action="http://www.google.com/search">
<input type="text" name="q" size="20" maxlength="255" />
<input type="hidden" name="sitesearch" value="mysite.com" />
<input type="submit" value="Search" />
</form>
<form action="http://www.google.com/search" target='test'>
<input type="text" name="q" size="20" maxlength="255" />
<input type="hidden" name="sitesearch" value="mysite.com" />
<input type="submit" value="Search" />
</form>
Как и ожидалось, первая форма выше загружает страницу CNN в IFrame «тест».
Вторая форма отлично работает, за исключением того, что она отображает результат на новой странице (а не внутри iframe).
Третья форма (то же, что и вторая, за исключением атрибута «цель») ничего не делает, когда кнопка отправки нажата.
Что я делаю неправильно? И как я могу сделать W3C Validator счастливым с этим?
Edit: Я думаю, что я почти получилось:
<iframe name='test' id='test'></iframe>
<form method='post' action="test.php" target='test'>
<input type="text" name="q" size="20" maxlength="255" />
<input type="submit" value="Search" />
</form>
Тогда это в test.php:
<?php
$query = $_POST["q"];
print file_get_contents("http://www.google.com/search?q=$query&sitesearch=mysite.com");
?>
Я думаю, что это синтаксически правильно - единственная проблема, которая что Google возвращает ошибку 503 (я думаю, что она не хочет делать это, не заплатив, или что-то еще).