За последние 24 часа нас посетили 49199 программистов и 1807 роботов. Сейчас ищут 876 программистов ...

Неработает редирект на другую страницу.

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

  1. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Никак не пойму в чем дело.

    Код (Text):
    1. <?php
    2. echo ("
    3. <form action=index.php>
    4. Пользователь:<input type=text name=login>
    5. Пароль:<input type=password name=pass>
    6. <input type=submit value=Войти name=ok>
    7. </form>
    8. ");
    9.  
    10. switch ($_POST['ok'])
    11. {
    12.  
    13. case 'Войти':
    14.  
    15. if (!empty($_POST['login']) and !empty($_POST['pass']))
    16. {
    17. require_once("mysql_conect.php");
    18. $use=mysql_query("use db");
    19. $select_member=mysql_query("select * from member where login='$_POST[login]' and pass='$_POST[pass]'");
    20.  
    21. if (mysql_num_rows($select_member) > 0)
    22. {
    23. header("Location:admin-room.php");
    24. }
    25. else
    26. {
    27. echo("<center><font color=white face=arial>Ошибка авторизации </font></center>");
    28. }
    29. }
    30. ;break;
    31. }
    32. ?>
    Выдается ошибка:
    Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\good\index.php:38) in C:\Program Files\Apache Group\Apache2\htdocs\good\index.php on line 54
     
  2. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Код (Text):
    1. Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\good\index.php:38) in C:\Program Files\Apache Group\Apache2\htdocs\good\index.php on line 54
    Значит чтоб был какойто вывод данных до поссылки редиректа.
    ПОставь в начале скрипта ob_start(); или блок с преадресаией выведи в начало скрипта
     
  3. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    ВАЖНО!!! Заголовки функцией header нужно отправлять до любого вывода текста в браузер! Даже перед <?php не должно быть пробелов!
     
  4. Eser

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

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Спасибо
     
  5. engager

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

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    либо мутить с буферизацией вывода.
    я лично ничего простив неё не имею - в ASP по умлочанию включено и работает как часы, хидеры можно добавлять в любом месте скрипта.