|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.06.2010, 02:10 | #1 |
Регистрация: 26.05.2010
Сообщений: 0
|
Остановка скрипта в php
Помогите кто может. Проблема в следующем.
Когда посетитель отправляет письмо с сайта, он заполняет форму, если он, допустим, заполнил не все поля, то обработчик (дан ниже) выводит ошибку "ОШИБКА". Но поскольку функция exit() завершает скрипт, то остальные тэги HTML, которые идут следом за скриптом, не обрабатываются. А это не есть хорошо . Можно ли сделать так, чтобы работу завершил только скрипт, не трогая оставшиеся тэги страницы? Код:
Если можете объясните поподробее и попроще, т.к. я тока начинаю осваивать php.
Языковой портал для тех, кто изучает иностранные языки: www.super-speaker.ru
Последний раз редактировалось emeraudx; 11.06.2010 в 03:26. |
11.06.2010, 11:20 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,166
|
ну замени exit('Error') на echo 'Error'
|
11.06.2010, 19:37 | #3 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
А типа if использовать нельзя? Это же элементарно.
|
11.06.2010, 20:07 | #4 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Делаем
Код:
|
12.06.2010, 13:39 | #5 |
Регистрация: 26.05.2010
Сообщений: 0
|
Мне не нужно, чтобы скрипт выполнялся дальше, если есть ошибка. Если делать переменную error, то для вывода ошибки нужно пользоваться echo
Давайте еще раз обратимся к моему коду. Если он проскакивает остановку скрипта еще со строки "ОШИБКА" (т.е. при использовании функции echo), то он идет дальше и натыкается на другой скрипт, который выводит ошибку "ОШИБКА ПРИ ОТПРАВЛЕНИИ", поскольку сообщение не отправлено администратору. Короч логика. Сначала интерпретатор выводит ошибку №1 - ОШИБКА, работает дальше и натыкается на ошибку №2 - ОШИБКА ПРИ ОТПРАВЛЕНИИ. Что у нас в итоге получается. В итоге он выводит на экран две ошибки - ошибку №1 (поскольку все строки не были заполнены, но скрипт продолжил работу) и ошибку №2 (поскольку из-за незаполненных строк письмо не отправилось), тока что это проверил. Так что здесь уместна только функция exit или die...
Языковой портал для тех, кто изучает иностранные языки: www.super-speaker.ru
|
12.06.2010, 17:59 | #6 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
В чем проблема?
Вывод ошибки - через echo (в середине), или exit, если она в конце скрипта. Остановить скрипт - exit. Если все это должно делать при опр. условиях, то пишете if, и дальше условия. |
15.06.2010, 02:15 | #7 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Как вариант, если автор ну очень сильно хочет изобрести велосипед (такое бывает на первых стадиях программирования), то можно все "тэги" загнать в переменную и делать а-ля exit($end_tags); или закрывающую часть загнать в отдельный файл и просто иклюдить его перед exit();
А ну, и в конце при полностью успешном выполнении скрипта тоже иклюдить этот файл. Таким образом файл будет инклюдиться только один раз до прекращения работы скрипта. ) З.Ы. Всё написанное мной выше никак не говорит о том, что я поддерживаю автора в его извращённой логике программирования на PHP.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очистка папки из php-скрипта. | Def@ult | PHP | 11 | 19.02.2015 12:21 |
Получение данных от php скрипта.. | Sanich | Работа с сетью в Delphi | 5 | 20.12.2007 16:41 |