Страница 209 из 813 Использование оператора echo() С помощью оператора echo можно выводить на экран значение, присвоенное какой-либо переменной. Это можно делать внутри функций, внутри циклов, во время обычной обработки— по сути, можно помещать оператор echo почти в любой участок кода. А если идентифицировать местоположения того или иного оператора echo (например, вставив в него текст вроде "внутри цикла for'' или "внутри второго оператора if"), то в коде можно использовать множество операторов echo и знать, что происходит в каждый момент выполнения программы. Например, если есть сценарий, принимающий от пользователя имя и адрес электронной почты, а затем обрабатывающий эти данные, то все происходящее во время обработки можно выяснить с помощью подобного кода:<?php echo "Имя :" . $name . "<br>"; echo "Email:" . $email . "<br>"; // обработка echo "Имя после обработки:" . $name . "<br>"; echo "Email после обработки:" . $email . "<br>"; // дополнительная обработка echo "Имя после дополнительной обработки:" . $name . "<br>"; echo "Email после дополнительной обработки:" . $email . "<br>"; ?> Имя и адрес могут изменяться во время каждого цикла обработки, но эти изменения можно будет отличить друг от друга, поскольку они сопровождаются различным поясняющим текстом. Ошибки внутри HTML-кода Если PHP генерирует ошибку и отправляет предупреждение или сообщение о критической ошибке с каким-либо HTML-кодом, обработка которого была завершена до возникновения ошибки, то сообщение не всегда отображается на экране. Если ошибка возникает внутри HTML-тега или внутри генерируемого элемента управления формы, браузеры могут быть настолько снисходительными к HTML-ошибкам, что страница может отображаться даже несмотря на то, что на ней отсутствуют ожидаемые данные. Очень важно всякий раз при неверной работе сценария проверять HTML-код, получаемый браузером на предмет скрытых PHP-ошибок, а в ходе такой проверки стоит потратить время и убедиться, что ожидаемые значения (которые могут быть скрыты внутри исходного HTML-кода) также присутствуют. Предположим, например, что используется PHP-код для подключения к базе данных, получения некоторых записей и последующего использования этих записей в цикле for для создания HTML-элемента <select>. Известно, что элемент <select> необходимо завершать закрывающим тегом </select> и что между этими тегами присутствуют элементы <option>. Если один из элементов <option> записан неверно (например, в нем присутствует PHP-сообщение об ошибке), то браузер просто проигнорирует данный элемент. На экране пользователь увидит выпадающий список и все "хорошие" элементы <option>, но в HTML-коде можно будет заметить что-нибудь подобное: <select name="select_customer_id"> <option value^'1'^Джон Доу</option> PHP-сообщение об ошибке <option value="3">Джейн Доу</option> </select> В данном случае полностью теряется клиент номер 2, но на экране сообщение об ошибке не отображается, хотя оно и отчетливо видно в исходном HTML-коде.
|