2017-01-08 8 views

答えて

1

onclickの代わりに他の偶数リスナーを使用できます。

onkeyup,onblurなど多くのマウスベースのイベントを使用して、Ajaxを呼び出してDBにユーザ名の存在を確認できます。

1

DBにリクエストを送信する前に検証ユーザー名を " 登録"とする方法。 userNameが一意である場合は、検証することを、あなたはdb

に校正を行う必要がありしかし、あなたはこのonblurイベントを行い、たとえば

にとって

ためajaxを使用できると仮定すると

<input type ="text" onblur="validate()"> 

function validate(){ 
    // ajax code 
} 
0

同様のシナリオでは、登録をクリックしてDBをクエリし、ユーザーが望む名前と比較する既存のユーザー名を確認し、既に存在する場合はユーザーに警告し、あなたのDB。スニペットは下にあり、サイトにはGitHub linkがあり、自分で登録クラスを見ることができます。

// check if user or email address already exists 
    $sql = "SELECT * FROM users WHERE user_name = '" . $user_name . "' OR user_email = '" . $user_email . "';"; 
    $query_check_user_name = $this->db_connection->query($sql); 
    if ($query_check_user_name->num_rows == 1) { 
     $this->errors[] = "Sorry, that username/email address is already taken."; 
    } else { 
    // write new user's data into database 
    $sql = "INSERT INTO users (user_name, user_password_hash, user_email) 
    VALUES('" . $user_name . "', '" . $user_password_hash . "', '" . $user_email . "');"; 
    $query_new_user_insert = $this->db_connection->query($sql); 

あなたは本当にあなたがPHPを処理するためにイベント関数でAjax呼び出しを行い、その後、そのような「のonblur」としてイベントリスナーを使用することができ、名前はレジスタを打つ前に撮影されたかどうかを確認する必要がある場合。名前の検証は上記のコードと似ていますが、まだユーザーを保存せず、結果に基づいて適切な処置をとるだけです。

関連する問題