Welcome Guest, Not a member yet? Register   Sign In
Ajax and Jquery
#1

[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:
&lt;?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';
        }
    }

}
?&gt;


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:
&lt;input type="text"  class="cleardefault, login_input" name="username" value="&lt;?php echo set_value('username','Username'); ?&gt;" size="50" id="username"&gt;
#2

[eluser]Aaron_owen[/eluser]
if anyone was wondering..... fixed it.

The model needs to be like this

Code:
function username_exists($username){

        $this->db->where('username', $this->input->post('username'));
        $query = $this->db->get('users');
            if($query->num_rows == 1)
            {
            return true;
            }            
        }




Theme © iAndrew 2016 - Forum software by © MyBB