[英]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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.