Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Неприемлимо использовать функцию exit
Покинул форум
Сообщений всего: 222
Дата рег-ции: Янв. 2008 Откуда: Гагастан
Помог: 0 раз(а)
[+][+][+][+][+]
Здравствуйте!
Мой пхп код расположен в середине страницы, т.е. после него идёт еще пхп код и html.
Исходя из такого положения дел, для меня неприемлимо использовать exit;, так как он останавливает сценарий (что собственно и должен делать), не выводя все остальное после него.
Возможны ли другие пути?
И еще какие функции посоветуете использовать для данных пришедших от пользователя? Хватит ли addslashes() & htmlspecialchars() ?
Это то что пришло сразу в голову =)
Во вторых пересмотреть логику
Цитата:
И еще какие функции посоветуете использовать для данных пришедших от пользователя? Хватит ли addslashes() & htmlspecialchars()
1) ну я бы посоветовал проверять $_POST и $_GET числовые значения с помощью intval() doubleval() причем intval() и проверять на ноль
2) так же использовать trim() что бы убирать лишние пробелы
а лучше
Покинул форум
Сообщений всего: 30
Дата рег-ции: Февр. 2008
Помог: 0 раз(а)
А ничего тут не сделаешь!
Либо аварийный выход с остановкой скрипта, либо нужно писать сам скрипт таким образом, чтобы он обрабатывал твою ошибку и реагировал не нее соответствующим образом. Например, если далее, в срипте, должна была появиться и заполнится данными, какая-то таблица, то вместо таблицы можно вывести что-то другое. В общем. В любом случае программировать нужно самому.
Лично я Exit применяю там, где действительно возможна авария, и исполнять скрипт дальше смысла нет. К примеру, остановился у тебя сервак MySQL. Ну и ничего в скрипте работать, разумеется, не будет. Скрипт у тебя остановится на пол пути с сообщением:
"Нет доступа к базе MySQL".
И пусть так и будет. Ведь пользователь все равно со своей стороны ничего изменить не сможет. Ему придется просто ждать, пока не сервак не поднимут.
----- Нет в русском языке слова дешеГО. Есть слово дешеВО.
D1mOn
Отправлено: 20 Февраля, 2008 - 12:05:52
Частый гость
Покинул форум
Сообщений всего: 222
Дата рег-ции: Янв. 2008 Откуда: Гагастан
Помог: 0 раз(а)
[+][+][+][+][+]
А как Вам идейка ввести переменную, допустим error? Поставить её в значение false, и проверять после КАЖДОГО МЕСТА ГДЕ ДОЛЖЕН БЫТЬ exit;? Если она равна true, то ничего дальше не делать (всмысле кода), а писать все оставшееся (html)
Gor
Отправлено: 20 Февраля, 2008 - 13:02:04
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Окт. 2007 Откуда: Спб
Помог: 0 раз(а)
1) Структура c IF
2) Функция: PHP-код - убрать в функцию, а где нужно расставить return.
Пойдет?
valenok
Отправлено: 20 Февраля, 2008 - 18:11:11
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
А как вам сделать функцию ?
show_html()
{
?>
..
<?php
die();
}
Ну вы же сами себе нашли решение.
Вы себя не до оцениваете.
Не говорите что вы не могли бы сами додуматься до такого,
или до других предложеных решений.
Так что начинайте стараться.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.