Как можно продолжить выполнение HTML кода после функции "die"? а то после этой функции страница обрывается, слетает дизайн, таблицы и т.д.
Моё такое мнение, что эта функция там не просто так. Надо смотреть как оно там всё у вас устроено, а потом думать.
iliavlad и потом показать все ошибки MySQL пользователям? включая директории, и, возможно, некоторые даже доберутся до конфигов... что потом? имхо, это не вариант, а дыра в защите
потом им еще надо будет показать номер пластиковой карточки с цвв кодом)) а зачем показывать пользователям ошибки? у вас вывод ошибок регулируется наличием функции die()? может я просто чего-то недопонимаю.
iliavlad функцию die я использую как конец сценария и вывод ошибки (своими словами описываю причину остановки скрипта), при обработке формы, если в процессе произошли ошибки... как я понимаю, функции exit и die идентичны? или есть какие-то подобные функции, которые останавливают конкретный скрипт, а остальные пропускают, или хотя бы дизайн не трогали)
die() не может не трогать дизайн. Очень злая функция. А вот с остальными можно попробовать договориться...
Ну так она и есть конец сценария. Если тебе надо обрывать сценарий после ошибки, то ты используешь die. А если не надо - можешь использовать echo. Но ты пользуешься die и спрашивать как бы так сделать, чтобы сценарий не обрывался. Никак. UPD А, вот что еще. Ошибки mysql выдаются или не выдаются на экран не потому что у тебя есть или нет die. Эта функция к ошибкам отношения не имеет, она только обрывает сценарий и пишет твое сообщение. Убрать ошибки с экрана это error-reporting и вообще Errors and Logging Configuration Options
error_reporting использую, но с echo не получается, выводятся остальные сообщения, не имеющие к запросу отношения... поэтому приходится использовать die. ладно, придется использовать обработчик в отдельный странице. спасибо всем за разъяснение)
Luge а в чем собственно сходство между двумя темами? там о проблеме с записями в БД, здесь о функции, которая останавливает сценарий...
волшебная магическая конструкция if В случае с mysqli можно сделать mysqli_report(MYSQLI_REPORT_OFF); как поступать в других случаях - я не знаю.
да не. просто в книжках и мануалах пишут mysql_connect() || die() вот когда начинаешь так делать на сайте с шаблоном и получается, что "дизайн ломается". да еще и дыра в безопасности из-за die() )) Howl попробуйте Код (Text): <?php echo 'header'; if (mysql_connect()) { echo 'connected'; } else { if (defined('APP_ENV') && 'development' === APP_ENV) { echo mysql_error(); } echo 'Ваш запрос обрабатывается... Посмотрите пока страничку "О нашем сайте".'; } echo 'footer'; в таком варианте подвал странички будет выводится, дизайн не будет ломаться и дыры в безопасности не будет.