2017-01-08 63 views

回答

1

你可以讓其他人甚至聽衆而不是onclick

您可以使用onkeyuponblur和更多基於鼠標的事件來調用Ajax來檢查數據庫中的用戶名存在。

1

如何在向DB發送請求之前進行驗證用戶名「按 註冊」。

假設,你會如果userName是獨一無二的驗證,你必須做出一個CAL db

但你可以做到這一點onblur事件並使用ajax

例如

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

JS

function validate(){ 
    // ajax code 
} 
0

在類似的情況下,我檢查了現有的用戶名,當他們點擊註冊,查詢數據庫,並與用戶想要的名稱作比較,如果它已經存在,提醒用戶不要寫條目你的數據庫。下面的代碼片段與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); 

如果你真的需要檢查,如果名稱是創下寄存器之前採取的,你可以使用一個事件偵聽器,如「的onblur」,然後進行Ajax調用事件函數來處理PHP。驗證名稱與上面的代碼類似,只是不保存用戶,並根據結果採取適當的操作。