表格提交不保留价值

时间:2016-04-06 14:52:18

标签: php forms

我有一个功能页面和我的表单页面。我的表单是我的注册页面,它有支票。(如果需要更多,我发布了大约30%的代码请问我)

Functionspage:

function validateRegister(){
    foreach($_POST as $key=>$value) {
        if(empty($_POST[$key])) {
            $errmsg_arr[] = ucwords($key) . " field is required";
            $errflag = true;
        }
    }
        if(!empty($_POST['reg'])){
    if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
         $errmsgt_arr[] = "the provided email is not a valid email address";
         $errflagt = true;
     }
   }
    if(!empty($errflag)) {
    $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
    session_write_close();  
    header("location: register.php");
    exit();

}
if(!empty($errflagt)) {
    $_SESSION['ERRMSGT_ARR'] = $errmsgt_arr;
    session_write_close();
    header("location: register.php");
    exit();

}

在我的注册页面中,我有这样的表格:

<?php
include 'header.php';
include 'functions.php';
session_start();
ini_set('error_reporting', E_ALL);

?>
<?php
if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
    foreach($_SESSION['ERRMSG_ARR'] as $msg) {
        echo '<li>',$msg,'</li>'; 
    }
}

if( isset($_SESSION['ERRMSGT_ARR']) && is_array($_SESSION['ERRMSGT_ARR']) && count($_SESSION['ERRMSGT_ARR']) >0 ) {
    foreach($_SESSION['ERRMSGT_ARR'] as $msg) {
        echo '<li>',$msg,'</li>';
    }
}
?>
<form method="post" action="register.php" enctype="multipart/form-data">
<tr>
<td>gebdatum</td>
<td><input type="text" name="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>"/></td>
</tr>
<tr>
<td>rijbewijs</td>

<td><input type="text" name="username" value="<?php if(isset($_POST['username'])) echo $_POST['username'];?>"/></td>
</tr>
<tr>
<td></td>
<td><input name="reg" type="submit" value="Sign-up" class="btn2"/></td>
</tr>
</table>
</div>
<?php   

if (isset($_POST['reg']))
{
    $register = new User();
    $register->Register();
}
unset($_SESSION['ERRMSG_ARR']);
unset($_SESSION['ERRMSGT_ARR']);
?>
</form>

当我注册时检查所有$ _posts等。当表单成功提交时,<?php if(isset($_POST['email'])) echo $_POST['email'];?代码行有效。它回应了之前的价值观。

但是当错误显示时。$ _POST值不再保留,它就会消失。

我不知道导致这个问题的原因。如果有人知道我做错了什么,我会爱。

0 个答案:

没有答案