За последние 24 часа нас посетили 20260 программистов и 1707 роботов. Сейчас ищут 1926 программистов ...

Как через цикл организовать открытие нескольких сайтов?

Тема в разделе "Вопросы от блондинок", создана пользователем Konstantin555, 18 май 2008.

  1. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    Подскажите, плиз, как реализовать открытие нескольких сайтов через цикл (в новом окне)
    Пробывал так:
    Код (Text):
    1.   for($i=1;$i<5;$i++)
    2.    Header('Location: '.$i.'.html'.' target="_blank"');
    В результате открывается только 4.html, т.е. 1, 2, 3 [.html] не открываются... Подскажите - в чём ошибка?..

    Заранее, спасибо!
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Как только браузер получает хэдер редиректа, он уходит со страницы.
    Нехорошим вы делом занимаетесь.
     
  3. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Konstantin555
    Заголовок "Location: ..." можно послать только один. То есть все последующие затирают предыдущие.
    Вам не серверный редирект нужен, а клиентский. Но хорошо если б вы задачу сначала объяснили, а то получается "как только я делаю вот так, у меня вот здесь начинает болеть" ;)
     
  4. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    Kreker, плохих намерений нету :)

    Dagdamor, как тогда клиентский редирект организовать?

    Задача проста - на сайте я ввожу строку поиска, выбираю галками необходимые поисковые системы, нажимаю на кнопку "Go!" и в результате открываются окна (или вкладки в Опере) с результатом поиска

    Вот мои файлы

    Файл temp_poisk.php:
    Код (Text):
    1. <html>
    2.  
    3. <head>
    4.   <title>Автоматизация поиска</title>
    5. </head>
    6.  
    7. <body>
    8. <form action='temp_poisk1.php' method='POST' target='_blank'>
    9. <b>Строка поиска: </b><input type="text" name="TS" value="Тест" width="200">
    10. <br><b>Искать на следующих сайтах:</b>
    11. <br><input type="checkbox" name="my_sites[]" value="yandex.ru" checked>Yandex.ru
    12. <br><input type="checkbox" name="my_sites[]" value="rambler.ru" checked>Rambler.ru
    13. <br><input type="checkbox" name="my_sites[]" value="google.com" checked>Google.com
    14. <br><input type="checkbox" name="my_sites[]" value="yahoo.com">Yahoo.com
    15. <br><input type="checkbox" name="my_sites[]" value="aport.ru" checked>Aport.ru
    16. <br>
    17. <input type="submit" value="GO!" name="s">
    18. </form>
    19. </body>
    20.  
    21. </html>

    Файл temp_poisk1.php:
    Код (Text):
    1. <?php
    2.   $tURL=$_POST['TS'];
    3.   $tSites=$_POST['my_sites'];
    4.   $re_YandexRu='http://www.yandex.ru/yandsearch?text='.$tURL;
    5.   $re_RamblerRu='http://www.rambler.ru/srch?words='.$tURL;
    6.   $re_GoogleCom='http://www.google.com.ua/search?q='.$tURL;
    7.   $re_YahooCom='http://search.yahoo.com/search?p='.$tURL;
    8.   $re_AportRu='http://www.aport.ru/search.php?r='.$tURL;
    9.   foreach($tSites as $line)
    10.   {
    11.    if($line=='yandex.ru') Header('Location: '.$re_YandexRu);
    12.    if($line=='rambler.ru') Header('Location: '.$re_RamblerRu);
    13.    if($line=='google.com') Header('Location: '.$re_GoogleCom);
    14.    if($line=='yahoo.com') Header('Location: '.$re_YahooCom);
    15.    if($line=='aport.ru') Header('Location: '.$re_AportRu);
    16.   }
    17. ?>
    =target="_blank"= убрал, т.к. неправильно обрабатывался

    P.S.: первый код в моём посте - упрощённый
     
  5. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
  6. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    Johnatan, как использовать JavaScript в PHP?..
     
  7. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Экстеншн соответствующий подключить. Для этого в php.ini надо раскомментировать строчку extension=php_javascript.dll
     
  8. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    Спасибо, но я имел немного другое - как в коде PHP использовать код JavaScript?
     
  9. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
  10. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Hight
    :D +++

    Konstantin555
    Также как и HTML.
    PHP:
    1.  
    2. <?php
    3. echo "
    4. <script>
    5. alert('I am some java script code');
    6. </script>
    7. ";
    8. ?>
    9.  
     
  11. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Лучше бы я этого не писал....
     
  12. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    ?

    Файл temp_poisk1.php преобразовал к следующему виду:
    Код (Text):
    1. <?php
    2.   $tURL=$_POST['TS'];
    3.   $tSites=$_POST['my_sites'];
    4.   $re_YandexRu='http://www.yandex.ru/yandsearch?text='.$tURL;
    5.   $re_RamblerRu='http://www.rambler.ru/srch?words='.$tURL;
    6.   $re_GoogleCom='http://www.google.com.ua/search?q='.$tURL;
    7.   $re_YahooCom='http://search.yahoo.com/search?p='.$tURL;
    8.   $re_AportRu='http://www.aport.ru/search.php?r='.$tURL;
    9.   foreach($tSites as $line)
    10.   {
    11.    if($line=='yandex.ru') echo "<script language='javascript'>window.open($re_RamblerRu,'','')</script>";
    12.    if($line=='rambler.ru') echo "<script language='javascript'>window.open($re_RamblerRu,'','')</script>";
    13.    if($line=='google.com') echo "<script language='javascript'>window.open($re_GoogleCom,'','')</script>";
    14.    if($line=='yahoo.com') echo "<script language='javascript'>window.open($re_YahooCom,'','')</script>";
    15.    if($line=='aport.ru') echo "<script language='javascript'>window.open($re_AportRu,'','')</script>";
    16.   }
    17. ?>
    В результате ничего не происходит...
     
  13. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    А в кавычки первый аргумент window.open я за тебя буду брать? Я тебе ссылки для чего дал? Чтобы ты их почитал. :) Там всё написано. И зачем посылать лишние аргументы, если их всё равно нет?
     
  14. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    Взял в кавычки, убрал лишние параметры - бесполезно..
    Код (Text):
    1. <?php
    2.   $tURL=$_POST['TS'];
    3.   $tSites=$_POST['my_sites'];
    4.   $re_YandexRu='http://www.yandex.ru/yandsearch?text='.$tURL;
    5.   $re_RamblerRu='http://www.rambler.ru/srch?words='.$tURL;
    6.   $re_GoogleCom='http://www.google.com.ua/search?q='.$tURL;
    7.   $re_YahooCom='http://search.yahoo.com/search?p='.$tURL;
    8.   $re_AportRu='http://www.aport.ru/search.php?r='.$tURL;
    9.   foreach($tSites as $line)
    10.   {
    11.    if($line=='yandex.ru') echo "<script language='javascript'>window.open('$re_YandexRu')</script>";
    12.    if($line=='rambler.ru') echo "<script language='javascript'>window.open('$re_RamblerRu')</script>";
    13.    if($line=='google.com') echo "<script language='javascript'>window.open('$re_GoogleCom')</script>";
    14.    if($line=='yahoo.com') echo "<script language='javascript'>window.open('$re_YahooCom')</script>";
    15.    if($line=='aport.ru') echo "<script language='javascript'>window.open('$re_AportRu')</script>";
    16.   }
    17. ?>
     
  15. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Я знаю какая ошибка, но... Давай научимся ошибки искать сами?
    Итак, чем ты просматриваешь страницу? Файрфоксом или IE?
    Если Файрфоксом, то идёшь в Инструменты > Консоль ошибок
    Там нажимаешь Очистить и обновляешь страницу с твоим кодом. Смотришь какие ошибки выдаёт консоль и исправляешь их.

    Если ты пользуешься IE, то установи Файрфокс и повтори то что написано выше.
     
  16. Konstantin555

    Konstantin555 Активный пользователь

    С нами с:
    18 май 2008
    Сообщения:
    13
    Симпатии:
    0
    Всем спасибо! Уже разобрался!
    P.S.: исправил код на:
    Код (Text):
    1. ...echo '<script language="javascript">window.open("'.$re_YandexRu.'")</script>';
    2. ....