Forum Webscript.Ru

Программирование => PHP => Тема начата: Wizard7b от 13 Декабря 2006, 17:53:00

Название: Способы остановки функции
Отправлено: Wizard7b от 13 Декабря 2006, 17:53:00
Тут вот такая тема!

Создаю небольшой тест из флажков (именно из них) Построение такое

ВОПРОС => ДА - НЕТ

Далее создал форму для проверки заполнения флажков и подсчет количества положительных ответов.

if ($_POST[\'submit\']!=false)
{


if(!isset($cda)) {if(!isset($cnet)) {echo($error); exit;}}
if(!isset($yda)) {if(!isset($ynet)) {echo($error); exit;}}
if(!isset($vda)) {if(!isset($vnet)) {echo($error); exit;}}
if(!isset($ceda)) {if(!isset($cenet)) {echo($error); exit;}}
if(!isset($eda)) {if(!isset($enet)) {echo($error); exit;}}
if(!isset($hda)) {if(!isset($hnet)) {echo($error); exit;}}
if(!isset($sda)) {if(!isset($snet)) {echo($error); exit;}}
if(!isset($vada)) {if(!isset($vanet)) {echo($error); exit;}}
if(!isset($hoda)) {if(!isset($honet)) {echo($error); exit;}}
if(!isset($esda)) {if(!isset($esnet)) {echo($error); exit;}}
if(!isset($uda)) {if(!isset($unet)) {echo($error); exit;}}
if(!isset($dda)) {if(!isset($dnet)) {echo($error); exit;}}
if(!isset($zda)) {if(!isset($znet)) {echo($error); exit;}}
if(!isset($hotda)) {if(!isset($hotnet)) {echo($error); exit;}}

if( $ot <= 4 ){echo($zero); exit; }
elseif( $ot >= 13 ){echo ( $three ); exit; }
elseif( $ot >= 9 ){echo ( $two ); exit; }
elseif( $ot >= 5 ){echo ( $one ); exit; }

}

ТУТ ВОТ В ЧЕМ ПРОБЛЕМА!!!

Как видно ошибку форма выдает на новой чистой странице странице. Форму я остановил при помощи exit.

Мне необходимо чтобы сообщение об ошибке выдавало на одной странице с тестом.

Проблема сотоит в том что бы остановит форму и выдать сообщение. Если убрать везде exit сообщение об ошибке дублируется.
Название: Способы остановки функции
Отправлено: xames от 23 Декабря 2006, 17:13:35
if( post )
{
$err= \'\';
делаешь проверки
если возникает ошибка то
$err = $error;
}

далее вывод формы
 echo "$err  somthing html ";

а дальнейшее выполнение скрипта привязывай к if(empty($err))...
Название: Способы остановки функции
Отправлено: andymc от 07 Января 2007, 00:29:53
Wizard7b
14 строк одно и то же! И не лень тебе было это всё писать???
try to use
$error=0;
!isset($cda) && !isset($cnet) ? $error=1 : false;
...
текст
if ($error){
 exit($error);
}

А если бы было 100 вопросов?... (придумай что-нить попроще)