Я пытаюсь получить доступ к переменным PHP $error_message
и $success_message
вне функции check_fields
. Это не работает. Я понимаю, что использование глобальных переменных не рекомендуется. Мне просто нужен способ вернуть переменные и логические true
или false
или получить их по всему миру.php не может получить доступ к глобальной переменной вне функции
function check_fields($pattern,$post,$minlength,$maxlength,$name_of_field)
{
global $error_message;
global $success_message;
$length_of_string = strlen($post);
if(isset($post))
{
if(preg_match($pattern,$post))
{
if($minlength < $length_of_string || $maxlength > $length_of_string)
{
return true;
$success_message .= $name_of_field . ' checked successfully...';
}else
{
return false;
$error_message .= $name_of_field . ' must be less than ' . $maxlength . 'and greater than' . $minlength;
}
}else
{
return false;
$error_message .= $name_of_field . ' was not correct, please enter this information again <br />';
}
}else
{
return false;
$error_message .= $name_of_field . ' was not set <br />';
}
}
«Вне функции» не всегда совпадает с глобальным охватом. Каждый функциональный вызов * layer * имеет свою собственную локальную область. Это зависит от того, что еще произошло до достижения вашей функции, и * где * вы пытаетесь получить доступ к этой общей переменной. – mario
Что бы вы мне порекомендовали? – brocksprogramming
возвращает объект или массив с ответом (boolean) и поле message (string) – CodeGodie