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