[eluser]jiahui[/eluser]
I am working on mine Edit application.
For example :
As codeigniter tutorial described, if want check whether is username available to use we can set a callback_username_check function at set_rules query there and then set username_check function after that.
My question is, how can I pass $userId in function username_check? Please help.
Code:
// --------------------------------------------------------------------
function _validation()
{
$rules['firstname'] = 'trim|required|min_length[2]|max_length[50]|htmlspecialchars';
$rules['lastname'] = 'trim|required|min_length[2]|max_length[50]|htmlspecialchars';
$rules['email'] = 'trim|required|htmlspecialchars|valid_email|max_length[100]';
$rules['username'] = 'trim|required|htmlspecialchars|max_length[100]|callback_username_check';
$rules['password'] = 'trim|required|min_length[6]|matches[password_confirm]';
$rules['password_confirm'] = 'trim|required|htmlspecialchars|min_length[6]|';
$this->validation->set_rules($rules);
$fields['firstname'] = $this->lang->line('user_first_name');
$fields['lastname'] = $this->lang->line('user_last_name');
$fields['email'] = $this->lang->line('user_email');
$fields['username'] = $this->lang->line('user_username');
$fields['password'] = $this->lang->line('user_password');
$fields['password_confirm'] = $this->lang->line('user_password');
$this->validation->set_fields($fields);
$this->validation->set_error_delimiters('<span class="error">', '</span>');
}
// --------------------------------------------------------------------
function username_check($str)
{
$SQL="select * from user where username='".$str."' and id <> '".$userId."'";
$rs = mysql_query($SQL) or die(mysql_error());
if(mysql_num_rows($rs) > 0)
{
$this->validation->set_message('username_check', $str.' is already in use');
return FALSE;
}else{
return TRUE;
}
}