當密碼輸入錯誤時,許多具有登錄名的網站如何將用戶名字段保留在用戶名字段中。 表單的動作(它在index.php上)是另一個php文件,如果密碼不正確,則使用Header()返回索引並使用GET將錯誤傳遞給它。我可以使用GET將用戶名傳遞迴表單,但這看起來很亂,而且我注意到像SMF論壇這樣的網站有用戶名留在用戶名字段中,沒有亂七八糟的URL。當密碼輸入錯誤時,請在用戶名字段中輸入用戶名字段
回答
您可以使用會話。
例如,當一個帖子是不正確的(這會去的文件處理您的職位要求):
$_SESSION['username'] = $_POST['username'];
那麼你的登錄頁面上:
<input type="text" name="username" value="<?php echo @$_SESSION['username']; ?>" />
製作確定你開始會話雖然:http://php.net/session_start
作爲一般規則,我不建議使用會話來達到這種目的:當用戶打開多個選項卡時,最終會導致網站中斷。 – 2010-04-12 10:08:01
會話通過選項卡/窗口進行傳輸。我同意,如果表單發佈給自己,處理表單更容易,但情況並非總是如此。如果驗證失敗,您將如何在不同頁面上傳輸用戶數據? (當然,在數據被顯示之後,你必須小心地清空請求之間的會話數據等) – 2010-04-12 10:58:08
我想不出當前上下文中有什麼問題。我警告不要使用會話作爲表單的一般替代(在預訂網站等某些領域非常流行的技術)的策略。 – 2010-04-12 12:25:15
我通常會發現,在顯示錶單的同一腳本中處理表單數據比較容易,只有當我收集到正確的輸入時才能將表單重定向到其他地方。
通過GET方法
header("Location: loginpage.php?username=".$_REQUEST['username']);
和表單頁面u能訪問它想:
<input type="text" name="username" value=<?php echo $_GET['username']?>
非常糟糕,因爲您可能會接受XSS和SQL注入攻擊。 – 2010-04-12 09:56:30
引用問題:「我可以使用GET將用戶名傳回表單,但這看起來很亂」 – 2010-04-12 09:59:13
您將如何開放SQl注入,沒有任何提交到數據庫? – 2010-04-12 10:00:07
Simples!
<form action="loginpage.php" method="post">
<fieldset>
...
<input type="text" name="username" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" />
...
</fieldset>
</form>
其餘的形式ommitted強調解決方案。
但我如何從login.php獲取用戶名到POST變量中? – 2010-04-12 10:01:04
@Jonathan這就是爲什麼我們把表單放在login.php – 2010-04-12 10:40:38
- 1. Drupal:用戶名輸入字段?
- 2. 當輸入「密碼」到密碼字段時jQuery ajax錯誤
- 3. 密碼或用戶名輸入兩次,當用角度輸入時輸入
- 4. 在字段中輸入時檢查用戶名?
- 5. 如何在此用戶名字段中輸入文字
- 6. CakePHP:請求用戶在輸入帳戶時輸入密碼
- 7. 數字輸入字段,禁止用戶手動輸入號碼
- 8. 值輸入密碼字段輸入值
- 9. 如何清除用戶名字段時重置密碼字段?
- 10. android用戶名密碼輸入
- 11. 輸入數據(用戶名和密碼)
- 12. @WithMockUser忽略用戶名,密碼字段?
- 13. AngularJS - 同時使用輸入字段作爲輸入字段和輸入字段
- 14. php表單的輸入字段顯示數據庫的用戶名和密碼
- 15. 如何使輸入字段同時輸入數字和密碼?
- 16. 插入在用戶名字段
- 17. 根據用戶輸入在輸入字段中顯示數據
- 18. 當輸入用戶名和密碼時,UWP崩潰
- 19. 從用戶輸入中識別名字
- 20. 段錯誤獲取用戶輸入
- 21. firefox將密碼填入用戶名字段
- 22. Woocommerce自定義用戶輸入字段
- 23. Twitter用戶名輸入字段文本插件!
- 24. Selenium/Python - 無法輸入文本到用戶名字段
- 25. 當用戶輸入後狀態更改時更改輸入字段
- 26. 當用戶開始輸入時,使突出顯示的輸入字段'unhighlighted'
- 27. 輸入字段部分密碼掩碼
- 28. 當用戶完成更改時,Jquery輸入字段
- 29. Git - 無法提交,請求輸入用戶名,但無法輸入用戶名
- 30. iPhone NSURLConnection會彈出輸入用戶名/密碼的請求嗎?
爲什麼php不允許你以這種方式使用$ _POST:$ _POST ['username'] =「Joe Blogs」;?這似乎很明顯,並會讓事情變得更容易。 – 2010-04-12 09:58:06
你能給出一個SMF論壇的代碼/ URL的例子嗎?我發現他們發佈到可以隨時訪問表單值的同一個index.php頁面。 – zaf 2010-04-12 13:22:46