За последние 24 часа нас посетили 16887 программистов и 1641 робот. Сейчас ищут 858 программистов ...

Проблема с редиректом(header)

Тема в разделе "PHP для новичков", создана пользователем Castle, 17 дек 2014.

  1. Castle

    Castle Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    32
    Симпатии:
    0
    Код (Text):
    1. <?php
    2. include "mods/connect.php";
    3. if(isset($_POST[sent])){
    4. $login = trim(strip_tags($_POST[login]));
    5. $pass = trim(strip_tags($_POST[pass]));
    6. if($login==""or$pass==""){ $info = "Не введено" ;
    7. }else{
    8. $avt = mysql_query("select * from admin where login='$login' and pass='$pass'");
    9. $nim = mysql_num_rows($avt);
    10. if($nim<1){ $infi = "Ошибка";}else{
    11. $_SESSION[ADMIN] = mysql_fetch_array($avt);
    12. header('Location:index.php');
    13. }}}
    14. if(isset($_POST[close])){
    15. unset($_SESSION[ADMIN]);
    16. header('Location:index.php'); exit; }
    17. ?>
    Код (Text):
    1. <?php
    2. include "mods/connect.php";
    3. include "mods/function.php";
    4. ?>
    5. <html>
    6. <head>
    7.     <title> Carrer TUIT </title>
    8.  
    9. </head>
    10. <body>
    11. <?php
    12.  
    13. if(!isset($_SESSION[ADMIN])){
    14. ?>
    15. <div class="admin" >   
    16. <form method="POST" action="">
    17.     <label>Логин</label>
    18.     <input type="text" name="login">
    19.     <label>Пароль</label>
    20.     <input type="password" name="pass">
    21.     <input type="submit" name="sent" value="Войти" id="sentad">
    22. </form>        
    23. </div>
    24. <?php exit(); }else{
    25. print "<form method='POST' action=''>
    26. <input type='submit' name='close' value='Выйти' id='viyti'><br>
    27. </form>"; }?>
    28.    
    29. <div class="chief">
    30. </div>
    31. </body>
    32. </html>
    Выдает ошибку Предупреждение: Не удается изменить информацию заголовка - заголовки уже прислал
    или Warning: Cannot modify header information - headers already sent by (output started at Z:\home\t.uz\www\admin\index.php:1) in Z:\home\t.uz\www\admin\mods\function.php on line 17 а когда нажимаю на кнопку выйти Warning: Cannot modify header information - headers already sent by (output started at Z:\home\t.uz\www\admin\index.php:1) in Z:\home\t.uz\www\admin\mods\function.php on line 21

    Заранее спасибо)
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    перед хедером нельзя ничего выводить. а у вас выводится. чтото. может ошибка какаято возникает. и её текст выводится. смотрите логи.
     
  3. Castle

    Castle Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    32
    Симпатии:
    0
    я понимаю суть ошибки но не понимаю где у меня выводится и что!

    Добавлено спустя 4 минуты 58 секунд:
    а как узнать создалась ли сессия или нет?
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    смотрите логи для начала. может проблема совсем не там где вы ее ищите.
     
  5. Castle

    Castle Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    32
    Симпатии:
    0
    как мне посмотреть логи??
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    посмотреть в конфигурации(httpd.conf например) сервера куда сохраняются логи. и там посмотреть.
     
  7. Castle

    Castle Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    32
    Симпатии:
    0
    спасибо
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ob_start заюзай
     
  9. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    Вероятно виноват "BOM" — перед первым <?php есть невидимая хня: ru.wikipedia.org/wiki/Маркер_последовательности_байтов

    Пересохрани файлы в нормальном текстовом редакторе как "UTF-8 без BOM"

    Добавлено спустя 31 минуту 57 секунд:
    P.S. В php.ini может быть указан параметр output_buffering. По умолчанию он выключен, но если он таки задан, то PHP как бы сам делает ob_start и ошибки с заголовками уходят. Однако стоит перенести свой корявый php-файл на другой хостинг, как ошибка снова вылазит ))) Так что лучше исправить сразу.
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    Castle, я (и не только я) очень не люблю когда на форуме какой-нибудь терпила вдруг начинает спрашивать меня в личке.
    Это форум, побличное пространство: ты поднял вопрос и у кого есть добрая воля, тебе помогает, в меру сил и времени. Никто тебя персонально ублажать не будет!
     
  11. igordata

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

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

    Castle Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    32
    Симпатии:
    0
    народ но у меня header все равно не работает помоги
     
  13. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    фу-фу-фу. не хорошо так говорить )