Некоторое время назад мы ездили в Санкт-Петербург на открытие филиала ШП. За пару часов до выступления Максим (директор филиала) показал мне сайт, созданию которого он посвятил несколько месяцев под чутким руководством своего преподавателя.
Сегодня я хочу рассказать вам об одной очень популярной и загадочной ошибке. Наверняка, многие из вас во время отладки своих программ сталкивались со следующим сообщением: headers already sent. Переводится на русский язык данная запись как заголовки уже отправлены.
Чтобы понять суть этой ошибки давайте вспомним структуру hhtp-пакетов:
Стартовая строка — определяет тип сообщения;
Заголовки — характеризуют тело сообщения, параметры передачи и прочие сведения;
Тело сообщения — непосредственно данные сообщения.
Т.е. говоря headers already sent программа ругает нас, за то, что мы уже где-то начали формировать тело сообщения (3-ю часть http-пакета), но снова хотим отправить заголовки (2-ую часть).
Приведу пару примеров: лёгкий и адский с точки зрения возможности заметить ошибку. Читать полностью »
На улице стоит прекрасная погода и чирикают птички. Но мы неумолимо продолжаем работу над ошибками по курсу «PHP за 2 недели».
Сегодня я хочу обратить внимание на инициализацию переменных и кроящиеся здесь опасности. PHP позволяет программисту обращаться с ними совершенно вольно, переменную можно использовать в программе сразу же после первого упоминания о ней.
Инициализацией называется присвоение переменной начального значения. Язык позволяет это не делать, однако, пренебрегая инициализацией, программист подвергает свой скрипт опасности появления сложных в отладке ошибок. Читать полностью »
Продолжаем описывать ошибки начинающих веб-программистов, которые в большом количестве обнаружились в ходе курса PHP за 2 недели. Сегодня рассмотрим ещё пару ошибок. Читать полностью »