2015-02-21 5 views
0

Я пытаюсь получить пост массива подкрепленной PHP, Сценарий 2 работы, Сценарий-не - при вызове функции внутри цикла, пожалуйста ПомощиВызова функции для проверки сообщению PHP массива

Сценарий 1 // Попытка вызвать функцию в цикле

<form action="new_signup_form_upload.php" method="POST"> 
Email 1 <input type = "text" name = "email[newsignup_email1]"> 
Email 2 <input type = "text" name = "email[newsignup_email2]"> 
<input type="submit" id= "submit" name= "submit"> 


function validate_email(){ 
if ($value == "") { 
echo $nameErr = '<div id = "error_message_div">Name is required</div>'; 
return false; 
} 
else{ 
if(!filter_var($value, FILTER_VALIDATE_EMAIL)) { 
echo $emailErr = '<div id = "error_message_div">Invalid email format</div>'; 
return false; 
} 
} 
} 

foreach($_POST[email] as $key => $value){ 
validate_email(); 
} 

Сценарий 2 // разница здесь пишу функцию, когда внутри цикла

<form action="new_signup_form_upload.php" method="POST"> 
Email 1 <input type = "text" name = "email[newsignup_email1]"> 
Email 2 <input type = "text" name = "email[newsignup_email2]"> 
<input type="submit" id= "submit" name= "submit"> 

foreach($_POST[email] as $key => $value){ 

if ($value == "") { 
echo $nameErr = '<div id = "error_message_div">Name is required</div>'; 
return false; 
} 
else{ 
if(!filter_var($value, FILTER_VALIDATE_EMAIL)) { 
echo $emailErr = '<div id = "error_message_div">Invalid email format</div>'; 
return false; 
} 
} 
} 

ответ

0

функция validate_email не имеет доступа к внешним переменным (за исключением действительно действительно глобальных). Кроме того, много других возражений против кода .. Вы должны пройти $value в вашем Еогеаспе цикле

function validate_email($value){ 
if ($value == "") { 
echo $nameErr = '<div id = "error_message_div">Name is required</div>'; 
return false; 
} 
else{ 
if(!filter_var($value, FILTER_VALIDATE_EMAIL)) { 
echo $emailErr = '<div id = "error_message_div">Invalid email format</div>'; 
return false; 
} 
} 
} 

foreach($_POST[email] as $key => $value){ 
validate_email($value); 
} 
+0

удивительный братан, что сделали это, благодаря – Sebastian

+0

вы радушны. Рад, что смог помочь – PierreDuc

Смежные вопросы