如果使用标头将用户重定向到另一个页面,如何使用表单提交错误的用户

When the user submits the form, the form information is posted to a php file and the php file redirects the user straight away to the next webpage once the form is submitted by using the header function. I have already validated the form using HTML and Javascript however the PHP has validation in it so that any errors that get past the Javascript and HTML are identified and the user is notified, however this is not possible at the minute as the user is redirected before they are notified.

How would I identify the user if the PHP locates an error? Is it necessary as will the only errors be by people who are intentionally trying to be malicious?

My code is:

<?php 

header("location: (next webpage)"); if(isset($_POST['submit'])){

$data_missing = array();    

if(empty($_POST['email_banned'])){

    // Adds name to array
    $data_missing[] = 'Email';

} else {

    // Trim white space from the name and store the name
    $email_banned = trim($_POST['email_banned']);

}

if(empty($_POST['notes'])){

    // Adds name to array
    $data_missing[] = 'Notes';

} else {

    // Trim white space from the name and store the name
    $notes = trim($_POST['notes']);

}

if(empty($data_missing)){

    require_once('mysqli_connect.php');

    $query = "INSERT INTO banned_emails (id, email_banned, created_on, notes) VALUES ( NULL, ?, NOW(), ?)";

    $stmt = mysqli_prepare($dbc, $query);


    //i Interger
    //d Doubles         
    //s Everything Else


    mysqli_stmt_bind_param($stmt, "ss", $email_banned, $notes);

    mysqli_stmt_execute($stmt);

    $affected_rows = mysqli_stmt_affected_rows($stmt);

    if($affected_rows == 1){

        echo 'Student Entered';



        mysqli_stmt_close($stmt);

        mysqli_close($dbc);

    } else {

        echo 'Error Occurred<br />';
        echo mysqli_error();

        mysqli_stmt_close($stmt);

        mysqli_close($dbc);

    }

} else {

    echo 'You need to enter the following data<br />';

    foreach($data_missing as $missing){

        echo "$missing<br />";

    }

}

}

?>

Thanks :)

You can use $_SESSION to store errors, and retrieve them later.

$_SESSION['errors'] = array('an error message', 'a second error message');

Then in the script the user has been redirected to :

while($err = array_shift($_SESSION['errors'])){
?>
    <p class='p_error'><?=$err?></p>
<?php
}