[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как остановить функцию
maximka787
все привет. подскажите, вопрос глупый, но он есть. как остановить скрипт exit; в рамках одной функции. у меня идут например 2 поверки из формы.
if(!условие) {
echo 'eror';
exit;
}

if(!условие2) {
echo 'eror';
exit;
}

include(footer.php);


если не выполняется условие то и футер не появляется.
я могу конечно одну функцию вложить в друую, но если их будет 10 а не2, получится нагромождение.



Спустя 1 минута, 16 секунд (25.05.2011 - 11:48) sharki написал(а):
maximka787
if , elseif и т.п пробовал? или свитч

Спустя 5 минут, 48 секунд (25.05.2011 - 11:53) maximka787 написал(а):
свитч тоже само что и много if, вообще эти операторы - одна суть.

elseif вообще не использовал ни разу за все время., тк есть два предыдущих оператора.


Если я буду использовать exit; а ее я буду использовать, то в любом ведь случае остановиться скрипт весь.

Спустя 3 минуты, 55 секунд (25.05.2011 - 11:57) sharki написал(а):
maximka787
хм у тебя совершенно разные блоки, т.е он может 2 раза не выполнится или 2 раза наоборот выполниться. Странная логика приложения smile.gif тебе или совмещать или думтаь над другой логикой, совмещать можешь например вот так
if(!условие and или or !условие2) {

Спустя 27 секунд (25.05.2011 - 11:58) ZSH написал(а):
Цитата
все привет. подскажите, вопрос глупый, но он есть. как остановить скрипт exit; в рамках одной функции. у меня идут например 2 поверки из формы.


если в пределах функции то просто RETURN

Спустя 43 секунды (25.05.2011 - 11:59) alex12060 написал(а):
бе. Используй как Шарки сказал, меньше гемора.
Или пробуй break; Ну или endif;

Или просто инклуд пихай вот так:


if(!условие) {
echo 'eror';
include(footer.php);
exit;
}

if(!условие2) {
echo 'eror';
include(footer.php);
exit;
}

Спустя 45 секунд (25.05.2011 - 11:59) sharki написал(а):
ZSH
У него не получится, там не объявлена функция... или автор что-то недоговаривает

Спустя 4 минуты, 37 секунд (25.05.2011 - 12:04) maximka787 написал(а):
sharki
смотри у меня идет $_POST массив. Перед импортом в базу, я поверяю данные. например:

1. получение именно из пост
2. проверка на цифру
3. поверка на длину
4. проверка на содержание и тд.
1. 
if(isset($_POST['id']) ) { $id = $_POST['id'] }
2.
if(!is_numeric($id) { echo 'введена не цифра'; exit; }
if(!3 условие) { echo 'ошибка3'; exit; }
if(!4 условие) { echo 'ошибка4'; exit; }
if(!5 условие) { echo 'ошибка5'; exit; }

footer();

Спустя 4 минуты, 23 секунды (25.05.2011 - 12:08) sharki написал(а):
maximka787
ужас какой)) лучше помещай ошибки в массив, а потом проверяй если он пуст, то выполнить функцию, если нет, то выдать ошибку и распечатать массив с ошибками

Спустя 5 минут, 40 секунд (25.05.2011 - 12:14) ZSH написал(а):
$error = array();
if(!is_numeric($id) { $error[] = 'ошибка3';}
if(!3 условие) { $error[] = 'ошибка3'; }
if(!4 условие) { $error[] = 'ошибка4';}
if(!5 условие) { $error[] = 'ошибка5';}

if(empty($error))
//....код обработки страницы
else
//....код вывода ошибки

footer();


типа так?

P.S. sharki опередил :)


Спустя 3 минуты, 32 секунды (25.05.2011 - 12:17) maximka787 написал(а):
Цитата (sharki @ 25.05.2011 - 09:08)
maximka787
лучше помещай ошибки в массив, а потом проверяй если он пуст, то выполнить функцию, если нет, то выдать ошибку и распечатать массив с ошибками

Ну это как вариант удобней всего.

Цитата
если в пределах функции то просто RETURN

тоже идея. я так раньше делал, но и там поблема

$test1 = check_email($email);  // функция с проверкой 

if($test1 && $test2 && $test3 && $test4){
insert email
}
footer();


вт тк лучше?

Спустя 46 секунд (25.05.2011 - 12:18) maximka787 написал(а):
ZSH
ну да, верная мысль, почти как у меня.


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.