|
Веб-курсы Что это? Оглавление Основы Основы основ Практика Гостевая книга Простой сайт Структура сайта (MVC) Ядро (Light) Ядро Гостевая на SQL Статические страницы Модуль новостей Система регистрации Теория Дебаггинг Регулярные выражения Введение в ООП Паттерны проектирования Репозитарий BB-code Почтовый класс Пагинатор Всякие полезности Download Полезные утилиты Разное Видеокурсы Последние изменения Вопросы и замечания сюда Реклама Диеты для похудения Фреймворк Kohana. Обучение. Мануал на русском. скачать прогу для восстановления данных на жестком диске |
Самые распространенные ошибкиНу не станем тратить время на точки с запятой и прочий синтаксис. Рассмотрим более серьёзные грабли.1. Упомянутая уже тут ошибка отправки заголовков. Это
обозначает ни что иное, как вывод перед отправкой заголовка. Причем указано место этого вывода: index.php:1 и местоположение этого заголовка index.php on line 3 . Ничего в этом ни страшного ни сложного нет. Варианта всего два - либо стоит пробел перед открывающим дескриптором <?php, либо файл сохранени с маркировкой BOM. Нужно перенастроить редактор. 2. Откуда то тянется мода писать переменные в кавычках. Вот так:
Оно конечно работает, хотя порядочно тормозит. Но это пол беды. Увлекшись этим многие пишут переменные в апострофах, вот так:
и потом сильно удивляются, что результат не тот. Запомните. Тарэлька пишэтся бэз мягкий знак, а сол с мягкий знак. Переменные не нужно обрамлять ни кавычками, ни апострофами. А вот элементы массива (если они строковые), обязательно нужно. Вот так правильно:
3. Посеръёзнее вариант. Уже стал академическим примером, с подачи одного известного горе-кодера такой код:
Самые грубые. а)Цикл do... while тут некорректен, так как может сложится ситуация, когда не будет записей, удовлетворяющих условию, а цикл совершит интерацию независимо от. б)Применение printf() тут не к месту, так как функция служит для форматирования значений, а не для организации разметки. Она сложна и непрозрачна в использовании для простого вывода. в)Неоправдано применение mysql_fetch_array() Если и применять её, то с подобающим случаю флагом. А лучше воспользоваться mysql_fetch_assoc() Этот код по хорошему должен выглядеть так:
Ну пока достаточно, в процессе накопятся.) |