Что бы не писал и всегда ошибка
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\WebProgramming\lessons\lessons\GuestBook2\index.php:1) in Z:\home\localhost\www\WebProgramming\lessons\lessons\GuestBook2\index.php on line 38
Спустя 6 минут, 23 секунды (29.08.2009 - 23:44) Bezdna написал(а):
Спустя 5 минут, 18 секунд (29.08.2009 - 23:49) WhiteKnight написал(а):
И причем тут utf
У меня и так файл в utf без BOM
И в .htaccess тоже прописал
AddDefaultCharset UTF-8
У меня и так файл в utf без BOM
И в .htaccess тоже прописал
AddDefaultCharset UTF-8
Спустя 1 час, 33 минуты, 56 секунд (30.08.2009 - 01:23) WhiteKnight написал(а):
Прочитал в книжке, что такое сообщение если есть пробел до <?php
и заголовки должны быть отправленны до формирования HTML страницы.
Код писать безобразный ? нечитабильный чтоли ?
а как же HTML ?
и заголовки должны быть отправленны до формирования HTML страницы.
Код писать безобразный ? нечитабильный чтоли ?
а как же HTML ?
Спустя 27 минут, 56 секунд (30.08.2009 - 01:51) WhiteKnight написал(а):
В общем перенес все что связано с заголовком до создание формы
но все равно ругается
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\WebProgramming\lessons\lessons\GuestBook2\index.php:8) in Z:\home\localhost\www\WebProgramming\lessons\lessons\GuestBook2\index.php on line 19
на вот эти строки
8: if ((trim($_POST['name'])) == '') echo "Вы не заполнили поле Имя <br>";
19: header ("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));
а как мне по другому тогда сообщение об ошибке выводить
но все равно ругается
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\WebProgramming\lessons\lessons\GuestBook2\index.php:8) in Z:\home\localhost\www\WebProgramming\lessons\lessons\GuestBook2\index.php on line 19
на вот эти строки
8: if ((trim($_POST['name'])) == '') echo "Вы не заполнили поле Имя <br>";
19: header ("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));
а как мне по другому тогда сообщение об ошибке выводить
Спустя 9 минут, 31 секунда (30.08.2009 - 02:01) WhiteKnight написал(а):
поставил игнорировать ошибку
@header ("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));
скрипт работает как и должен. но того Warning не отображается.
Скажите так можно делать ?
Это не критично ?
@header ("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));
скрипт работает как и должен. но того Warning не отображается.
Скажите так можно делать ?
Это не критично ?
Спустя 25 минут, 40 секунд (30.08.2009 - 02:26) sergeiss написал(а):
Цитата (WhiteKnight @ 30.08.2009 - 02:51) |
а как мне по другому тогда сообщение об ошибке выводить |
Сохраняешь его в символьной строке и выводишь тогда, когда нужно. У тебя же стоит вывод в браузер
PHP |
echo "Вы не заполнили поле Имя <br>"; |
А это означает, что перед первым "эхом" какие-то заголовки будут отправлены браузеру.
Или не выводишь потом, а используешь как-то по-другому.
Спустя 18 минут, 3 секунды (30.08.2009 - 02:44) WhiteKnight написал(а):
sergeiss
Спасибо за пояснение
Попробовал записать в переменную
if ((trim($_POST['name'])) == '') $er = 1;
elseif((trim($_POST['msg'])) == '') $er = 2;
но почему то результата я не могу из нее достать. не могу понять почему ничего не выводится
я отдельно после формы написал
switch ($er)
{
case 1: echo "Вы не заполнили поле имя <br>";
case 2: echo "Вы не заполнили поле Cообщение <br>";
case 3: echo "";
}
а ничего не выводится
и если да же так
echo $er; // должны быть код ошибки от 1 - 3
Спасибо за пояснение
Попробовал записать в переменную
if ((trim($_POST['name'])) == '') $er = 1;
elseif((trim($_POST['msg'])) == '') $er = 2;
но почему то результата я не могу из нее достать. не могу понять почему ничего не выводится
я отдельно после формы написал
switch ($er)
{
case 1: echo "Вы не заполнили поле имя <br>";
case 2: echo "Вы не заполнили поле Cообщение <br>";
case 3: echo "";
}
а ничего не выводится
и если да же так
echo $er; // должны быть код ошибки от 1 - 3
Спустя 6 часов, 51 минута, 3 секунды (30.08.2009 - 09:35) DeeKeiD написал(а):
PHP |
if(empty($_POST['name'])) { |
Спустя 2 часа, 23 минуты, 6 секунд (30.08.2009 - 11:58) sergeiss написал(а):
У меня есть подозрение, что ты неправильно понимаешь суть процессов.
Приведи код в более полном виде (но в разумном количестве ).
Приведи код в более полном виде (но в разумном количестве ).
Спустя 5 часов, 39 минут, 11 секунд (30.08.2009 - 17:38) WhiteKnight написал(а):
Да там логика вроде простая. проверяю данные которые ввелись в форме.
если все нормально то данные записываются в файл если нет то должна быть выведана в браузер ошибка в заполнении полей данных
вот и весь скрип.
если все нормально то данные записываются в файл если нет то должна быть выведана в браузер ошибка в заполнении полей данных
вот и весь скрип.
PHP |
<?php |
Спустя 8 минут, 43 секунды (30.08.2009 - 17:46) WhiteKnight написал(а):
Сейчас заметил, что с логикой выполнения не в порядке.
Заметил что скобок не хватает
вот так переписал вот этот кусок и уже лучше
Заметил что скобок не хватает
вот так переписал вот этот кусок и уже лучше
PHP |
else |
сейчас
PHP |
else |
есть еще не точность, если не заполнено первое поле а второе заполнено то пишет что оба не заполнены.
Спустя 28 минут, 13 секунд (30.08.2009 - 18:15) Гость_hara написал(а):
http://www.php.net/manual/en/control-structures.switch.php
break...
вы уверены что устанавливать какие то переменные после того как послали header с location
имеет смысл? хотя конечно в данном случае это не имеет значения
break...
вы уверены что устанавливать какие то переменные после того как послали header с location
имеет смысл? хотя конечно в данном случае это не имеет значения
Спустя 5 минут, 26 секунд (30.08.2009 - 18:20) WhiteKnight написал(а):
Всё разобрался
Всё дело было в скобках. Их много и напутал я в них
Всё дело было в скобках. Их много и напутал я в них