Всем привет! Ребята назрел такой вопрос: В коде обращаюсь к БД, чтобы выбрать, вставить, обновить... Перед обращением составляю запись типа: Код (Text): $query = 'UPDATE ... '; Затем подставляю все в строку: Код (Text): $result = mysqli_query($link, $query); После чего проверяю результат: Код (Text): if ($result == false) { $error = 'Ошибка обновления таблицы ...'; header ('Location: index.php?error='.$error.''); exit; } А здесь без всяких else продолжаю код ... Принято ли так писать, что сразу отработал ошибку и, если запрос не выполнился, то перенаправляемся на нужную страницу при помощи header и exit? Помню, кто то писал, что exit это моветон и желательно без него. За ранее благодарю за ответ!
унижать и кастрировать тех, кто так пишет. Заголовок с перенаправлением поступает в браузер и по уму ему не нужен в этот момент контент сайта, т.к. он собирается переходить на другую страницу. Чтобы контент не отдавать, ставят стоп машину exit
Поступает заголовок в браузер, а затем браузер снова обращается на сервер с содержимым заголовка, или же заголовок и данные согласно этого заголовка вместе и сразу направляются в браузер?
Сначала в браузер поступают заголовки от сервер После заголовков идет контент (содержимое веб документа или иного рода) Ваш случай: Заголовок с указанным адресом поступил как команда в браузер, что нужно будет перейти на N страницу. Дальше браузер ждет окончательного выполнения своего запроса от сервера (заголовок и контент) Так как поступила команда в браузер об переадресации, то смысл заливать КГ картошки контента нет . Браузер по новому запросит все данные, перейдя на N ссылку --- Добавлено --- https://ru.wikipedia.org/wiki/HTTP --- Добавлено --- HTTP-сообщение состоит из HTTP-запроса, посылаемого клиентом серверу, и HTTP-ответа, возвращаемого сервером клиенту на основе полученного запроса.
Я так понял такой вариант написания кода является более , чем приемлемый? Что надо отработали, что не надо, то сразу exit. Я еще goto использую во всю, сокращает код значительно, все читабельно и понятно...
Нормально. Просто часто бывает так, что в конце скрипта висит спец. обработчик, выполняющий различные тех. действия вроде записи логов, но в общем-то ничего не мешает повесить этот обработчик и на exit. Моветон – это скорее сам редирект, чисто WP-шный стиль, хотя нек. др. громоздкие поделки тоже им не брезгуют. При подобных ошибках лучше выдавайте 503-юю. Например, у нас даже самые простые каркасы так делают и соответственно к этому приучают разрабов. И, конечно, делать подобные проверки, смешивая их с «бизнес-логикой», – это подводить себя к суициду. Я себе такое позволяю в статьях, но только для того, чтобы начинающие не забывали о необходимости делать такие проверки, например: Как сделать пагинацию? В реале, конечно, нужно использовать исключения. --- Добавлено --- P.S. Когда нужен именно редирект, выход можно сделать отложенным: https://php.ru/forum/posts/625136/
Я знаю, что такое ассемблер. Более того, я знаю ассемблер (x86-64). Если jmp используется в ассемблере, это еще не означает, что он должен так же активно использоваться в процедурке ЯВУ --- Добавлено --- Кстати, во многих ассемблерах (компиляторах) есть примитивы алг. конструкций, чтобы поменьше использовать jmp и инструкции условного перехода.