iT邦幫忙

0

PHP 使用者輸入 限制指定格式

各位大大您好,想詢問
我現在想在註冊表單的輸入資料中限制指定長度或格式(例如:password至少8位最多16位,email是否存在或是格式正確..等等)
驗證成果才會insert進去資料庫裡
有查了一些資料 像fiter_validate_email等等的函數
但關於長度限制跟驗證信箱是否存在 不知該怎麼辦
請各位大大幫幫忙QQ/images/emoticon/emoticon46.gif 謝謝~

咖咖拉 iT邦研究生 5 級 ‧ 2020-02-20 17:50:36 檢舉
也可以使用前端來判斷
input 沒輸入大於8 就不要顯式送出按鈕 或 按鈕返灰
email 寫正規表示式判定有沒有符合規則 一樣不要顯式送出按鈕 或 按鈕返灰

1 個回答

1
player
iT邦大師 1 級 ‧ 2020-02-19 23:06:32
最佳解答

表單的欄位驗證
通常是先在用戶端驗證過一次
之後在Server端再驗證一次

用戶端的可以用jQuery Validation
https://jqueryvalidation.org/
用法請自己看網站上的範例與說明

至於Server端(PHP)的
沒有現成的函數可用的話
就得自己寫啊
通常是用正規表示式(Regular Expression)去判斷啊
https://www.php.net/manual/en/ref.pcre.php

至於驗證信箱是否存在
牽涉到判斷Mail主機是否存在
SMTP的port是否有開啟
還有該MailServer上是否有該email信箱
所以會很複雜

player iT邦大師 1 級 ‧ 2020-02-19 23:09:17 檢舉

所以,至於驗證信箱是否存在
通常是直接寄信過去
如果沒被退信的話,就有存在的可能
(有的MailServer沒開退信功能,所以不好判斷信箱是否存在)

player謝謝大大~這些連結就非常有幫助了
我現在就立刻參考 謝謝您!!
驗證信箱的問題我會再去思考詳細點 感恩你的回覆

kw6732 iT邦新手 5 級 ‧ 2020-02-20 07:55:41 檢舉

補充一下,驗證信箱的做法通常是寄出一封帶有驗證連結的信,真的有使用者去點了這連結(當然是連回你的主機認證),才代表是真實有在使用的帳號,至於用PHP寄出信件,這種code還不少,可以依據你的伺服器環境與php版本來參考寫作。

我要發表回答

立即登入回答