За последние 24 часа нас посетили 18114 программистов и 1606 роботов. Сейчас ищут 952 программиста ...

перезапуск скрипта..

Тема в разделе "PHP для новичков", создана пользователем BFF, 15 янв 2009.

  1. BFF

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

    С нами с:
    17 ноя 2008
    Сообщения:
    49
    Симпатии:
    0
    приветствую.

    Скажем index.php обработал данные формы. И он должен вызвать себя же с некоторым параметром ?task=empty
    понимаю, что можно передернуть скрипт при помощи конструкции:


    Код (Text):
    1. <?
    2.  header( "Location: index.php?task=" . $par );
    3.  exit;
    4. ?>
    но есть трабл с header(); описанный http://php.ru/forum/viewtopic.php?t=16233
    Можно ли как то решить эту задачу другим методом?
    Что рекомендуется к прочтению?
     
  2. Elkaz

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

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    BFF
    В самом начале скрипта (до всякого вывода)
    PHP:
    1.  
    2. <?php
    3. $param = (isset ($_POST ['param'])) ? $_POST ['param'] : null;
    4. if (count ($_POST) > 0 && !empty ($param)){
    5.       header ("Location: index.php?tash=" . $param);
    6.       exit;
    7. }
    8. ?>
    9.  
    Либо в форме ставите METHOD=GET =)
     
  3. BFF

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

    С нами с:
    17 ноя 2008
    Сообщения:
    49
    Симпатии:
    0
    читайте http://php.ru/forum/viewtopic.php?t=16233
    что только не делал!!!!!
    ставил строку с header второй в листинге, все равно летит....
    смотрел что передается, нет данных, ну не передавал он ни чего, небыло ни каких заголовков, а не может.
    Прочтите приведенный топик. Подскажите там.
    Гет почитаю. Спасибо.
     
  4. Elkaz

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

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    BFF
    Смысл мультипостинга?
    PHP:
    1.  
    2. <?php
    3. $param = (isset ($_POST ['param'])) ? $_POST ['param'] : null;
    4.  
    5. if (count ($_POST) > 0 && !empty ($param)){
    6.         header ("Location: index.php?task=" . $param);
    7.         exit;
    8. }
    9. ?>
    10.  
    HTML:
    1.  
    2. <form name="myform" method="post" action="index.php">
    3.  Параметр: <input type="text" name="param" value="">
    4. <input type="submit" name="ok" value="Отправить">
    5. </form>
    6.  
     
  5. AlexGousev

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

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    BFF
    Засунуть все в функцию. Вызывать с нужными параметрами.
     
  6. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    а JS слабо??? и адрес указать можно и время :)))
     
  7. Frozen

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

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    в самое начало своего пхп файла

    PHP:
    1.  
    2. <?php ob_start(); ?>
    3.  
     
  8. BFF

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

    С нами с:
    17 ноя 2008
    Сообщения:
    49
    Симпатии:
    0
    Перезапустить скрипт передав в него какие то параметры можно вот так:

    PHP:
    1.   function redirect($par)
    2.    {
    3.    echo '<script>document.location.href="index.php?task='.$par.'"</script>';
    4.    }
    Проверено, работает.
    Всем спасибо.
     
  9. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Вот и молодец :)))))