[英]HTML form with submit to php. Displaying php response
我正在嘗試為我的網站實施“重置密碼”頁面。 到目前為止,我有一個簡單的頁面,其中包含供用戶輸入其電子郵件地址的表單。 提交表單調用“ requestpasswordreset.php”,該表單執行諸如檢查是否存在該電子郵件的用戶,發送密碼重置電子郵件等操作。
<body>
<form name="input" action="requestpasswordreset.php" method="post">
Email Address: <input type="text" name="email"> </br>
<input type="submit" value="Submit"></form>
</body>
requestpasswordreset.php偽代碼
if no user with email = $_POST['email']
echo 'No user exists with this email';
else
...
doStuff();
echo 'Password reset email sent';
我想知道我該怎么做:
如果用戶輸入了無效的電子郵件地址,則該表格將保持可見狀態並顯示錯誤消息。
如果請求成功,則該表單將被隱藏,並顯示一條消息,例如“成功”。
在這兩種情況下,重定向到新頁面似乎都是不必要的/不好的做法? 而不是僅僅更新當前版本。
如果有錯誤,您只需輸出相同的HTML,並從PHP腳本中添加一條錯誤消息。 如果成功,則可以將它們重定向到其他位置,或者將它們保持在您認為合適的同一頁上。 我可能會將他們帶回登錄表單,並添加一條成功消息,以便他們在收到您的電子郵件后可以輕松登錄。
您為什么不嘗試將表單提交到同一頁面? 然后
if (isset($_POST['email']) /** and user exists **/) {
/** do whatever you need to do **/
} else {
/** display the form **/
}
你可以做這樣的事情:
在您的php代碼上:
如果(電子郵件錯誤)echo“ window.location.href ='yourformpage.php?email = wrong'”; 其他doStuff();
並在您的表單頁面中:
if(isset($ _ GET ['email'])AND $ _GET ['email'] =='錯誤')
回顯“顯示錯誤消息”;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.