$email = $db->real_escape_string($_POST['email']); $email = filter_var($email, FILTER_VALIDATE_EMAIL); if (!$email) { die("不合法的Email"); } ``` ### 三、檢查必填欄位 1. 其實上述的Email和此處的必填欄位都可以在前端做檢查,但實際上,前端的檢查是可以有技巧的跳過,因此,後端的檢查還是必要的。 2. 用簡單的 empty() 函數就可以判斷是否為空值了。或者用 if($變數=="")也可以。 ``` $name = $db->real_escape_string($_POST['name']); if (empty($name)) { die("姓名為必填!"); } $email = $db->real_escape_string($_POST['email']); if (empty($email)) { die("Eamil為必填!"); } $email = filter_var($email, FILTER_VALIDATE_EMAIL); if (!$email) { die("不合法的Email"); } $pass = $db->real_escape_string($_POST['pass']); if (empty($pass)) { die("密碼為必填!"); } ``` ### 四、密碼加密 1. 目前最佳的密碼加密方法: password\_hash() 2. 不可逆!同一個密碼加密後的值會不一樣! 3. 可利用 password\_verify($password, $hash) 來解密! ``` $pass = $db->real_escape_string($_POST['pass']); if (empty($pass)) { die("密碼為必填!"); } $pass = password_hash($pass, PASSWORD_DEFAULT); ``` ### 五、練習 1. 想想看,可以乾脆把 Email 設成主索引嗎?優缺點為何? 2. 請匯出最新的資料庫結構檔並儲存。 3. 清空(非刪除)資料表,並重新註冊正式會員
$name = $db->real_escape_string($_POST['name']); if (empty($name)) { die("姓名為必填!"); } $email = $db->real_escape_string($_POST['email']); if (empty($email)) { die("Eamil為必填!"); } $email = filter_var($email, FILTER_VALIDATE_EMAIL); if (!$email) { die("不合法的Email"); } $pass = $db->real_escape_string($_POST['pass']); if (empty($pass)) { die("密碼為必填!"); } ``` ### 四、密碼加密 1. 目前最佳的密碼加密方法: password\_hash() 2. 不可逆!同一個密碼加密後的值會不一樣! 3. 可利用 password\_verify($password, $hash) 來解密! ``` $pass = $db->real_escape_string($_POST['pass']); if (empty($pass)) { die("密碼為必填!"); } $pass = password_hash($pass, PASSWORD_DEFAULT); ``` ### 五、練習 1. 想想看,可以乾脆把 Email 設成主索引嗎?優缺點為何? 2. 請匯出最新的資料庫結構檔並儲存。 3. 清空(非刪除)資料表,並重新註冊正式會員
$pass = $db->real_escape_string($_POST['pass']); if (empty($pass)) { die("密碼為必填!"); } $pass = password_hash($pass, PASSWORD_DEFAULT); ``` ### 五、練習 1. 想想看,可以乾脆把 Email 設成主索引嗎?優缺點為何? 2. 請匯出最新的資料庫結構檔並儲存。 3. 清空(非刪除)資料表,並重新註冊正式會員
進階搜尋