簡體   English   中英

驗證失敗時重新加載注冊表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM