Просмотр поста

.
ДоХтор
Как найти ошибку в своем коде?

Быстрые рекомендации.
1. Убедитесь, что вы видите сообщения об ошибках, если они возникают.
Для этого надо добавить в начало скрипта 2 строчки
ini_set('display_errors',1);
error_reporting(E_ALL);
Хотя в некоторых случаях это всё равно не поможет. Тогда смотрите ошибки в логах веб-сервера.
Ещё можно добавить в файл .htaccess строчку
php_flag display_errors 1
Обязательно убрать всех собак (@) из кода!
Если апач выдаёт ошибку 500 - значит надо смотреть текст ошибки в логе ошибок веб-сервера.

2. Если возникают проблемы с функциями MySQL (например "supplied argument is not a valid MySQL result resource") - это значит, что mysql_query() выполнилась с ошибкой. Чтобы всегда быть в курсе таких ошибок, функцию mysql_query надо вызывать так:

$sql = "SELECT * FROM table";
$res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql);

Если используется mysqli, то перед коннектом написать 1 строчку:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

Если используется PDO, то соединяться, как написано здесь

3. При работе с изображениями, чтобы увидеть сообщение об ошибке, обязательно надо догадаться отключить вывод заголовка, говорящего браузеру, что дальше идет картинка.
И, естественно, обращаться к скрипту напрямую, а не через тег !

4. При проблемах в аплоаде в первую очередь смотрите массив $_FILES (print_r($_FILES);). Описания ошибок из $_FILES['filename']['error'] есть в мануале.

5. При проблемах во взаимодействии сервера и клиента (куки, сессии, запросы)- в обязательном порядке смотреть Обмен HTTP заголовками

6. Закомментируйте строчку с header('Location:'), если ищете обшибку в обработчике POST запроса

7. При отладке AJAX запросов смотрите ответ сервера в FireBug-e и его аналогах (кнопка F12 в любом браузере), вкладка Network - Preview.

8. И САМОЕ ВАЖНОЕ: запуская скрипт, смотрите не то, что показывает браузер, а ИСХОДНЫЙ HTML код!.

Получив сообщение об ошибке, вы можете его прочитать и исправить.
Если не справились - пишите на форум. При этом КОПИРУЙТЕ сообщение об ошибке, и КОПИРУЙТЕ небольшой - 3-5 строк - кусок кода, на который указывает ошибка. Повторяю - КОПИРУЙТЕ! никакой отсебятины!

Если вы всё равно не нашли ошибку - читайте дальше: