Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t将值赋给错误数组以处理PHP中的错误_Php_Arrays - Fatal编程技术网

Can';t将值赋给错误数组以处理PHP中的错误

Can';t将值赋给错误数组以处理PHP中的错误,php,arrays,Php,Arrays,我试图用PHP制作一个POST请求表单。当用户提交表单时,代码应该验证输入并将其放入名为errors的数组中。然后,系统检查该数组是否为空。如果它有什么东西,它会撞上一个警报框 我面临的问题是,无论我如何分配值,错误数组仍然是空的。下面是完整的代码 <?php $errors = array('name' => '', 'age' => '' ); // array containing errors // check get request. The GE

我试图用PHP制作一个POST请求表单。当用户提交表单时,代码应该验证输入并将其放入名为errors的数组中。然后,系统检查该数组是否为空。如果它有什么东西,它会撞上一个警报框

我面临的问题是,无论我如何分配值,错误数组仍然是空的。下面是完整的代码

<?php

    $errors = array('name' => '', 'age' => '' ); // array containing errors

    // check get request. The GET will be an array storing data to be transfered to server as GET. 
    // _ is global var. GET belows will take the value when the submit button pressed
    if(isset($_POST['submit'])){  // when user submit POST request
        errCheck();
        if(!empty($errors['name'])) {
            phpAlert($errors['name']);

        };   // check if errors exist
        if(!empty($errors['age'])) {
            phpAlert($errors['age']);

        };
    }

    function errCheck() {               // validate user input
        if(empty($_POST['name'])) {
            $errors['name'] = 'Name can\'t be emty';

        }
        elseif(!preg_match('/^[a-zA-Z\s]+$/', $_POST['name'])){ 
            $errors['name'] = 'Only letters available for name.';

        };
        if(empty($_POST['age'])) {
            $errors['age'] = 'Age can\'t be empty';

        } 
    }

    function phpAlert($msg){    // in case errors exist
        echo $msg;
        echo '<script type="text/javascript">alert("' . $msg . '")</script>';
    };

?>

<!DOCTYPE html> 
<html>
    <head>
        <title> my PHP </title>
    </head>

    <body>
        <h4 class="center">Add a Person</h4>
        <form class="white" action="15.php" method="POST">           <!-- GET request form -->
            <label>Name: </label>
            <input type="text" name="name">                            <!-- name is the key for http request -->
            <label>Age: </label>
            <input type="number" name="age">
            <div class="center">
                <input type="submit" name="submit" value="submit">
            </div>
        </form>


    </body>
</html>

尝试使用此代码,您需要将$\u POST作为函数中的参数传递errCheck,并返回错误数组。
                $errors = array('name' => '', 'age' => '' ); // array containing errors

                // check get request. The GET will be an array storing data to be transfered to server as GET. 
                // _ is global var. GET belows will take the value when the submit button pressed
                if(isset($_POST['submit'])){  // when user submit POST request
                   $errors= errCheck($_POST);
                    if(!empty($errors['name'])) {phpAlert($errors['name']);};   // check if errors exist
                    if(!empty($errors['age'])) {phpAlert($errors['age']);};
                }

                function errCheck($array) {               // validate user input. Throw errors into errors array
                   $errors=array();
                    if(empty($array['name'])) {$errors['name'] = 'Name can\'t be emty';}
                    elseif(!preg_match('/^[a-zA-Z\s]+$/', $array['name'])){ $errors['name'] = 'Only letters available for name.';};
                    if(empty($array['age'])) {$errors['age'] = 'Age can\'t be empty';} 

                   return $errors;
                }

                function phpAlert($msg){    // in case errors exist
                    echo $msg;
                    echo '<script type="text/javascript">alert("' . $msg . '")</script>';
                };

            ?>
$errors=array('name'=>'','age'=>'');//包含错误的数组
//检查get请求。GET将是一个数组,它存储要作为GET传输到服务器的数据。
//_u是全局变量。按下提交按钮时,GET belows将获取该值
如果(isset($_POST['submit']){//when user submit POST request
$errors=errCheck($\u POST);
if(!empty($errors['name']){phpAlert($errors['name']);};//检查是否存在错误
如果(!empty($errors['age']){phpAlert($errors['age']);};
}
函数errCheck($array){//验证用户输入。将错误抛出到错误数组中
$errors=array();
if(空($array['name']){$errors['name']='name不能是emty';}
elseif(!preg_match('/^[a-zA-Z\s]+$/',$array['name']){$errors['name']='仅可用于name的字母';};
if(empty($array['age']){$errors['age']='age不能为空';}
返回$errors;
}
函数phpAlert($msg){//以防出现错误
echo$msg;
回显“警报”(“.$msg.”);
};
?>

尝试使用此代码,您需要将$\u POST作为函数中的参数传递errCheck并返回errors数组。
                $errors = array('name' => '', 'age' => '' ); // array containing errors

                // check get request. The GET will be an array storing data to be transfered to server as GET. 
                // _ is global var. GET belows will take the value when the submit button pressed
                if(isset($_POST['submit'])){  // when user submit POST request
                   $errors= errCheck($_POST);
                    if(!empty($errors['name'])) {phpAlert($errors['name']);};   // check if errors exist
                    if(!empty($errors['age'])) {phpAlert($errors['age']);};
                }

                function errCheck($array) {               // validate user input. Throw errors into errors array
                   $errors=array();
                    if(empty($array['name'])) {$errors['name'] = 'Name can\'t be emty';}
                    elseif(!preg_match('/^[a-zA-Z\s]+$/', $array['name'])){ $errors['name'] = 'Only letters available for name.';};
                    if(empty($array['age'])) {$errors['age'] = 'Age can\'t be empty';} 

                   return $errors;
                }

                function phpAlert($msg){    // in case errors exist
                    echo $msg;
                    echo '<script type="text/javascript">alert("' . $msg . '")</script>';
                };

            ?>
$errors=array('name'=>'','age'=>'');//包含错误的数组
//检查get请求。GET将是一个数组,它存储要作为GET传输到服务器的数据。
//_u是全局变量。按下提交按钮时,GET belows将获取该值
如果(isset($_POST['submit']){//when user submit POST request
$errors=errCheck($\u POST);
if(!empty($errors['name']){phpAlert($errors['name']);};//检查是否存在错误
如果(!empty($errors['age']){phpAlert($errors['age']);};
}
函数errCheck($array){//验证用户输入。将错误抛出到错误数组中
$errors=array();
if(空($array['name']){$errors['name']='name不能是emty';}
elseif(!preg_match('/^[a-zA-Z\s]+$/',$array['name']){$errors['name']='仅可用于name的字母';};
if(empty($array['age']){$errors['age']='age不能为空';}
返回$errors;
}
函数phpAlert($msg){//以防出现错误
echo$msg;
回显“警报”(“.$msg.”);
};
?>

在函数errCheck中定义错误并返回

// check get request. The GET will be an array storing data to be transfered to server as GET. 
        // _ is global var. GET belows will take the value when the submit button pressed
        if(isset($_POST['submit'])){  // when user submit POST request

            $errors = errCheck();
            if(!empty($errors['name'])) {phpAlert($errors['name']);};   // check if errors exist
            if(!empty($errors['age'])) {phpAlert($errors['age']);};
        }

        function errCheck() {               // validate user input. Throw errors into errors array
            //Define the array of error within this function 
            $errors = array('name' => '', 'age' => '' ); // array containing errors
            if(empty($_POST['name'])) {$errors['name'] = 'Name can\'t be emty';}
            elseif(!preg_match('/^[a-zA-Z\s]+$/', $_POST['name'])){ $errors['name'] = 'Only letters available for name.';};
            if(empty($_POST['age'])) {$errors['age'] = 'Age can\'t be empty';} 

            //Return the errors
            return $errors;
        }

        function phpAlert($msg){    // in case errors exist
            echo $msg;
            echo '<script type="text/javascript">alert("' . $msg . '")</script>';
        };
//检查get请求。GET将是一个数组,它存储要作为GET传输到服务器的数据。
//_u是全局变量。按下提交按钮时,GET belows将获取该值
如果(isset($_POST['submit']){//when user submit POST request
$errors=errCheck();
if(!empty($errors['name']){phpAlert($errors['name']);};//检查是否存在错误
如果(!empty($errors['age']){phpAlert($errors['age']);};
}
函数errCheck(){//验证用户输入。将错误抛出到错误数组中
//在此函数中定义错误数组
$errors=array('name'=>'','age'=>'');//包含错误的数组
如果(空($_POST['name']){$errors['name']='name不能是emty';}
elseif(!preg_match('/^[a-zA-Z\s]+$/',$\u POST['name']){$errors['name']='仅可用于name的字母。;};
如果(空($_POST['age']){$errors['age']='age不能为空';}
//返回错误
返回$errors;
}
函数phpAlert($msg){//以防出现错误
echo$msg;
回显“警报”(“.$msg.”);
};

在函数errCheck中定义错误并返回

// check get request. The GET will be an array storing data to be transfered to server as GET. 
        // _ is global var. GET belows will take the value when the submit button pressed
        if(isset($_POST['submit'])){  // when user submit POST request

            $errors = errCheck();
            if(!empty($errors['name'])) {phpAlert($errors['name']);};   // check if errors exist
            if(!empty($errors['age'])) {phpAlert($errors['age']);};
        }

        function errCheck() {               // validate user input. Throw errors into errors array
            //Define the array of error within this function 
            $errors = array('name' => '', 'age' => '' ); // array containing errors
            if(empty($_POST['name'])) {$errors['name'] = 'Name can\'t be emty';}
            elseif(!preg_match('/^[a-zA-Z\s]+$/', $_POST['name'])){ $errors['name'] = 'Only letters available for name.';};
            if(empty($_POST['age'])) {$errors['age'] = 'Age can\'t be empty';} 

            //Return the errors
            return $errors;
        }

        function phpAlert($msg){    // in case errors exist
            echo $msg;
            echo '<script type="text/javascript">alert("' . $msg . '")</script>';
        };
//检查get请求。GET将是一个数组,它存储要作为GET传输到服务器的数据。
//_u是全局变量。按下提交按钮时,GET belows将获取该值
如果(isset($_POST['submit']){//when user submit POST request
$errors=errCheck();
if(!empty($errors['name']){phpAlert($errors['name']);};//检查是否存在错误
如果(!empty($errors['age']){phpAlert($errors['age']);};
}
函数errCheck(){//验证用户输入。将错误抛出到错误数组中
//在此函数中定义错误数组
$errors=array('name'=>'','age'=>'');//包含错误的数组
如果(空($_POST['name']){$errors['name']='name不能是emty';}
elseif(!preg_match('/^[a-zA-Z\s]+$/',$\u POST['name']){$errors['name']='仅可用于name的字母。;};
如果(空($_POST['age']){$errors['age']='age不能为空';}
//返回错误
返回$errors;
}
函数phpAlert($msg){//以防出现错误
echo$msg;
回显“警报”(“.$msg.”);
};