с PHP. Я пытаюсь проверить, являются ли поля ввода действительными или нет. При этом я помещаю свои коды в разные php-файлы и включаю их в основной файл php (registerFunction.php) , причина, по которой я делаю это, - это организовать все, что будет выполняться одним нажатием кнопки, но я получаю сообщение об ошибке, которую переменная, объявленная в registerFunction.php, не указана в файле regValidation.php. Ниже сообщение об ошибке я получаю: неопределенная переменная: regErrors вPHP содержит необъявленную переменную
мой код для registerFunction.php является:
<?php
//Create Error array
$regErrors = array();
//Add Date Functions
include "includes/functions/dateFunction.php";
//Checks if Register Screen Inputs are valid or not and pushes the errors into an array.
include "includes/functions/checkRegFields.php";
//
include "includes/functions/registryValidation.php";
if(regDecision()){
//register
}
else{
foreach ($regErrors as $errrorMessage) {
?>
<script>
$("#errors").append('<div class="alert alert-danger" role="alert"><?php echo $errrorMessage; ?></div>');
</script>
<?php
}
}
echo postDate();
?>
checkRegFields.php:
<?php
if(isset($_POST['registerButton'])){
if(($_POST['regEmail'])){
$regEmail = $_POST['regEmail'];
}
else{
array_push($regError,"Please Fill in the Email field");
}
if(($_POST['regUsername'])){
$regUsername = $_POST['regUsername'];
}
else{
array_push($regErrors,"Please Fill in the Username field");
}
if ((['regPassword']) and ($_POST['regPassword2'])) {
if(($_POST['regPassword']) == ($_POST['regPassword2'])){
$regPassword = $_POST['regPassword'];
}
else{
array_push($regErrors,"Passwords does not match!");
}
}
else{
array_push($regErrors,"Please Fill in the Password fields");
}
}
?>
и, наконец у меня есть registryValidation.php (где у меня ошибка):
<?php
function regDecision(){
if(sizeof($regErrors)==0){
return true;
}
else{
return false;
}
}
?>
checkRegFields.php нормально с $ regErr или переменная, но registryValidation.php сообщает мне, что $ regError не объявлен.
Почему это?
Поскольку 'regDecision' является функцией, так что вам нужно' глобальный $ regErrors'? Также обратите внимание, что ваша проверка электронной почты нажимает на неопределенную переменную ('regError' вместо' regErrors'). – CompuChip
спасибо! теперь, когда вы сказали мне это, все ясно, и я решил свою проблему =) – Licentia