當用戶註冊時,在verified
列中有一個隨機值md5(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM))
,直到他驗證了他的帳戶。發生這種情況時(通過電子郵件),verified
變空。我忘記的密碼是否正常工作,或者我錯過了什麼?
當用戶想再次收到他的電子郵件驗證,他的類型中的電子郵件的文本框,並有4種可能情況:
- 非有效的郵件 - >請糾正,你的-email.php
- 有效的電子郵件 - >此電子郵件 - 是 - 不found.php
- 有效電子郵件+在DB +發現驗證 - >是,已經verified.php
- 有效電子郵件+ DB中發現+尚未驗證 - > still-not-verified.php
我的問題是,如果我的邏輯和結構是正確的,如果我忘記了什麼。它雖然工作正常。
if ($_POST["email"]) {
require_once('config.php');
$errflag = false;
$send2email = mysql_real_escape_string($_POST["email"]);
if (!filter_var($send2email, FILTER_VALIDATE_EMAIL)) {
$errflag = true;
}
if($errflag) {
header("location: please-correct-your-email.php");
exit();
}
$qry = "SELECT verified FROM members WHERE email='$send2email'";
$result = mysql_query($qry);
$member = mysql_fetch_assoc($result);
if($result) {
if (mysql_num_rows($result) == 0) {
header("location: this-email-is-not-found.php");
exit();
}
elseif ((mysql_num_rows($result) > 0) && ($member['verified'])) {
header("location: still-not-verified.php");
exit();
}
else {
header("location: is-already-verified.php");
exit();
}
}
} //this is for if post email
外貌好,有點刺激,但沒有看到任何明顯的錯誤。 – Layke
將'$ member = mysql_fetch_assoc($ result);'放在'if($ result){}內' –
我只是不明白爲什麼人們投票關閉它。 – EnexoOnoma