За последние 24 часа нас посетили 16584 программиста и 1650 роботов. Сейчас ищут 2027 программистов ...

проблема header('Location: ');

Тема в разделе "PHP для новичков", создана пользователем ??? Соловьев Е ш326, 6 май 2012.

  1. добрый вечер уважаемые программисты.
    у меня возникла совершенно необъяснимая ситуация с header.
    поясню:
    у меня на одном домене стоят якобы два сайта.
    тобиш www.бла бла бла.ru и www.бла бла бла.ru/ещё чего нибудь
    ну просто сайты сами по себе разные.
    так вот, на втором при попытке использования header('Location '); ничего не происходит, но при этом выполняется далее следующий код.
    на первом сайте такой фигни нет, всё работает идеально.
    метод использования header и там и там одинаков.

    я вообще не врубаюсь что происходит.
    может кто нибудь помочь?

    Добавлено спустя 11 минут 56 секунд:
    кстати, оператор exit; после header стоит
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Код покажите.
    header('Location ') никуда не указывает, нужно поле двоеточия адрес писать
    header('Location: /ещё_что-нибудь ')
     
  3. Код (Text):
    1.  
    2. <?php
    3. header('Location index.php');
    4. exit;
    5. ?>
    на обоих именно так, причём на втором не работает
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Двоеточие после Location обязательно.
    В том случае, когда это работает, открывается именно http://адрес_сайта/index.php или только http://адрес_сайта?

    Добавлено спустя 1 минуту 33 секунды:
    Спецификация протокола HTTP/1.1 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
     
  5. там где работает открывается http://адрес_сайта/index.php
    Двоеточие стоит, просто здесь забыл написать.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    может BOM?
     
  7. вроде нет

    Код (Text):
    1.  
    2. <!DOCTYPE html>
    3.  
    4. <?php
    5. session_start();
    6. include 'data.php';
    7. if ($_SESSION['ok'] != 'ok') {
    8.  header('Location: index.php');  //вот эта строка не выполняется ни когда
    9.  exit();  //этот оператор срабатывает правильно
    10. }
    11. ?>
    12. <html>
    13. <head>
    14.   <title>заголовок</title>
    15. </head>
    16. <body>
    17.  
    18. <input type="button" value="выход" onClick="window.location='exit.php'">
    19. <center><br><br><br><br><br/>
    20.       <strong>всякий там текст
    21.       <br> <form action="upload.php" method="post" enctype="multipart/form-data">
    22.       <input type="file" name="filename"><br> <br><br/>
    23.       <input type="submit" value="кнопка"><br>
    24.       </form>
    25. </center><br><br><br />
    26. <?php
    27. $skip = array('.', '..');
    28. $dir = dirname(__FILE__) . '/q/';
    29. $files = scandir($dir);
    30. foreach($files as $file) {
    31.  if(!in_array($file, $skip))
    32.   echo($file .'<br />');
    33. }
    34. ?>
    35. </body>
    36. </html>
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    до вывода заголовков не позволяется никакой другой вывод
     
  9. тобиш php скрипт поместить в body?
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    до вывода заголовков не должно быть никакого текста. ваще. когда текст пошел - считается что заголовки уже все ушли и новые не сработают.
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  12. всем огромное спасибо!! )))