我不知道如何阻止用戶創建帳戶,如果用戶名已被採取..有人可以幫助我..我嘗試尋找腳本或教程在互聯網上但他們沒有好..我只是在編碼noobie ..我的表稱爲「user_acc」和用戶名字段爲「用戶名」如何防止用戶創建一個帳戶,如果用戶名已被採用
這裏是我的AJAX腳本
function validateEmail(str){
var testresults;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
//var filter1=/^[A-Za-z]+$/;
if (filter.test(str))
testresults=true;
else
testresults=false
return (testresults)
}
//registration
$(document).ready(function(){
$('#submbut').click(function(){
var fn = $('#fnamae').val();
var ln = $('#lnamae').val();
var un = $('#unamae').val();
var pass = $('#pass').val();
var pass2 = $('#pass2').val();
var mail = $('#mail').val();
var cont = $('#cont').val();
var url = "http://localhost/picturecity/acceptusr";
if(fn == "" && ln == "" && un == "" && pass == "" && pass2 == "" && mail == "" && cont == "" || fn == "" || ln == "" || un == "" || pass == ""
|| pass2 == "" || mail == "" || cont == ""){
alert('Error: Fill up all fields');
}
else{
if(pass == pass2)
{
if(validateEmail(mail)){
$.ajax({
url:url,
data: "fn="+fn+"&ln="+ln+"&un="+un+"&pass="+pass+"&mail="+mail+"&cont="+cont,
type:"post",
success:function(e){
alert('Registration Successful');
}//success
});//ajax
}
else{
alert("Invalid Email Format");
}
}//if
else{
alert('Password Do Not Match');
}
}
});//click
}); //document
我控制器代碼註冊
public function acceptusr(){
$data = array (
"firstname"=>$this->input->post('fn'),
"lastname"=>$this->input->post('ln'),
"username"=>$this->input->post('un'),
"password"=>md5($this->input->post('pass')),
"email"=>$this->input->post('mail'),
"contact"=>$this->input->post('cont')
);
$this->Mod_admin->addtotb('user_acc',$data);
}
模型
public function addtotb($table, $data)
{
$this->db->insert($table,$data);
}
請幫助我如何創建用戶名驗證感謝..
您應該檢查這個綽號用戶是否已存在於數據庫(使用'SELECT')與否。 – Regent 2014-10-07 11:22:39
您將必須執行數據庫請求以檢查用戶名是否被採用。你可以在你的jQuery代碼中使用ajax,或者在你的acceptusr()函數中添加一個測試。 – Jerodev 2014-10-07 11:23:04
我相信codeigniter可以處理數據庫異常......所以只需將您的數據庫表列設置爲「UNIQUE」並處理異常? – Najzero 2014-10-07 11:24:31