[eluser]Aaron_owen[/eluser]
I had this code working yesterday, and some today I have broken it.
It was suppose to load an error box when a username is already registered and then clear if a unique username is entered. Now it just loads "That Username is already taken. Please choose another" reguardless if its unique or not .
This is my global.js
Code:
/* Global JavaScript File for working with jQuery library */
$(document).ready(function() {
$('#username').blur(function() {
var username = $('#username').val();
$.post('/ajax/username_taken',
{ 'username':username },
function(result) {
$('#bad_username').replaceWith('');
if (result) {
$('#username').after('<div id="bad_username" style="color:red;">' +
'<p>(That Username is already taken. Please choose another.)</p></div>');
}
}
);
});
});
Then my controller
Code:
<?php
class Ajax extends Controller {
public function Ajax() {
parent::Controller();
}
public function username_taken()
{
$this->load->model('Members_model', '', TRUE);
$username = trim($_POST['username']);
// if the username exists echo a '1' indicating true
if ($this->Members_model->username_exists($username)) {
echo '1';
}
}
}
?>
The model
Code:
// Check if username exists
public function username_exists($username)
{
$this->db->where('username', $username);
$this->db->from('users');
$query = $this->db->get();
if ($query->num_rows() > 0) {
return TRUE;
} else {
return FALSE;
}
}
The html input box
Code:
<input type="text" class="cleardefault, login_input" name="username" value="<?php echo set_value('username','Username'); ?>" size="50" id="username">