Я хочу построить функцию проверки (или даже класс) в php, чтобы проверить наличие пустых полей в форме.Дело в том, что я хочу проверять поля одно за другим, и если есть пустое поле для отправки, «-field_name- пусто».Если ни один из них не пуст, чтобы продолжить работу с остальной частью сценария ...
Я уже сделал это, используя несколько вложенных операторов if-else .... но мне было интересно, есть ли более компактный и удобный для программистапуть.Я попытался использовать массив, который я передаю в выражении foreach, а затем я использую цикл переключения.
Вложенные if-else:
function no_empties($first_name,$last_name,$username,$password,$password2,$user_email,$user_email2)
{
if ( !empty($first_name) )
{ if ( !empty($last_name ) )
{if ( !empty($username ) )
{if ( !empty($password ) )
{if ( !empty($password2) )
{if ( !empty($user_email) )
{if (!empty($user_email2) )
{return TRUE;}
else{ js_msg("Please retype your email!");return FALSE;};
}
else {js_msg("Please enter a -valid- email!"); return FALSE;};
}
else{js_msg("Please retype your password!");return FALSE;};
}
else {js_msg("Please enter a password!" ); return FALSE;};
}
else {js_msg("Pleas enter a username!"); return FALSE;};
}
else { js_msg("Please enter your last name!"); return FALSE;};
}
else { js_msg("Please enter your first name!"); return FALSE;};
}
Второй описанный мною случай:
$fields_array = array("first name"=>$first_name,"last name"=>$last_name,"username"=>$username,"password"=>$password,"retype password"=>$password2,"email"=>$user_email,"retype email"=>$user_email2);
function TEST($fields_array)
{
foreach ($fields_array as $field_name => $input)
{
switch (empty($input)) :
case TRUE: return $output="The -{$field_name}- field is empty <br/>"; break;
case FALSE:return $output= "No field is empty!!! Hooray! <br/>"; break;
endswitch;
}
}
Работает, но я не могу использовать его следующим образом:
if ( TEST($fields_array)==TRUE ): echo $output; else: echo $output; endif;
Более того, было бы идеально, если бы код имел форму, не зависящую от того, сколько полей имеет каждая форма.Кто-то просто введет массив, например, $ fields = array ("first" => $ first и т. Д. ....).
Любые мысли ???????