验证失败后重新加载注册表单


Reloading registration form on failed validation

我有一个注册表单视图存储在我的数据库中。用户点击链接显示注册表格。表单看起来像这样:

<form method="post" id="loginForm" action = ".">
                        <label>Name:<input type="text" name="name" value="" required><br></label>
                        <label>Email:<input type="email" name="email" value="" required><br></label>
                        <label>Password:<input type="password" name="pass" value="" required><br></label>

                        <input type="submit" value="Log In"/><br>
                        <input type="hidden" name="action" value="do_register"/>
                    </form> 
名为index.php的

控制器从操作中获取do_register值,并继续进行流程验证。

if($action == 'do_register'){
 $name = $_POST['name'];
 $email = $_POST['email'];
 $pass = $_POST['pass'];
 if(empty($email) || empty($pass) || empty($name)){
 $error = 'All fields required';
 $view = 'view.php';
 }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
 $error = "Please enter a valid email.";
 $view = "view.php";
 }else{
 $user = insertUser($name, $email, $pass);
 if(!$user){
 $error = "There was an error. Please try again";
 $view = "view.php";
 }else{
$error = "Thank you for registering!";
$view = 'view.php';
 }
 }
 }

当它重新加载视图时,它只是显示我的错误消息,而不显示注册表单再次尝试。非常感谢您的帮助

这是因为您重新加载了页面。有更好的练习可以在会话中使用。

$_SESSION["error"]代替$error