2016-09-27 5 views
1

何らかの理由で、私はいつもそのメールが届いていません。メールがすでに届いています

public function emailExists($mail) { 
      $handler = new sql(); 
      $sql = $handler->connect(); 

      $sql->real_escape_string($mail); 

      $result = $sql->query("SELECT email FROM users WHERE email='".$mail."'"); 



      if($result->num_rows != 0) return true; 
      else { 
       $handler->log_write($mail, "register_fail","NULL"); 
       return false; 
      } 
      $sql->close(); 
      return false; 
     } 

今ここにチェック

if($user->emailExists() == false) { 
     $user->create($name, $pass, $email, $age, $gender); 
      jquery_alert("You have been registered. Thank you for using our services. Enjoy your stay!"); 
      jquery_reload(); 
     } 
     else { 
      jquery_alert("This email already exists"); 
     } 
+1

このソリューションをお試しくださいあなたは '$ SQLベース>'バック変数に()をreal_escape_stringの結果を割り当てる必要があります。引数を変更しません。 – Barmar

+2

しかし、実際には、エスケープ文字列の代わりに準備クエリを使用する方法を学ぶべきです。 – Barmar

答えて

3

方法で引数として渡すのメールアドレスがあります。あなたの関数で

if($user->emailExists($email) == false) { 
// your code here 
} 
+0

ああ、私はちょうどその1つを見ていない...おかげで芽! –

+0

この回答が有用な場合は、この回答に便利または賛成としてください。 –

0

ご返送デフォルト値は、あなたの方法で電子メールアドレスを渡し

偽もあります。

if($user->emailExists($email) == true) { 
    $user->create($name, $pass, $email, $age, $gender); 
     jquery_alert("You have been registered. Thank you for using our services. Enjoy your stay!"); 
     jquery_reload(); 
    } 
    else { 
     jquery_alert("This email already exists"); 
    } 
関連する問題