If you are allowing the user to login with their username and password then you have to make sure that every user has the unique username.
When the user goes for registration on your site check username either after form submits or check it with AJAX while entering.
In this tutorial, I am using jQuery AJAX to check username is available or not.
Check
On a successful callback write the response in
I use
In this tutorial, I am using jQuery AJAX to check username is available or not.
Contents
1. Table structure
I am usingusers
table in the tutorial example.CREATE TABLE `users` ( `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `username` varchar(80) NOT NULL, `fullname` varchar(80) NOT NULL, `password` varchar(80) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2. Configuration
Create a newconfig.php
file.
Completed Code
<?php $host = "localhost"; /* Host name */ $user = "root"; /* User */ $password = ""; /* Password */ $dbname = "tutorial"; /* Database name */ $con = mysqli_connect($host, $user, $password,$dbname); // Check connection if (!$con) { die("Connection failed: " . mysqli_connect_error()); }?>
3. HTML
Create an input field for entering username and to show availability response created<div id='uname_response'>
.
Completed Code
<div> <input type="text" id="txt_username" name="txt_username" placeholder="Enter Username" /> <!-- Response --> <div id="uname_response" ></div> </div>
4. PHP
Create a newajaxfile.php
file.Check
$_POST['username']
value in users
table. If username exists then return Available.
message otherwise Not Available.
message.
Completed Code
<?php include "config.php"; if(isset($_POST['username'])){ $username = $_POST['username']; $query = "select count(*) as cntUser from users where username='".$username."'"; $result = mysqli_query($con,$query); $response = "<span style='color: green;'>Available.</span>"; if(mysqli_num_rows($result)){ $row = mysqli_fetch_array($result); $count = $row['cntUser']; if($count > 0){ $response = "<span style='color: red;'>Not Available.</span>"; } } echo $response; die; }?>
5. jQuery
Send AJAX request whenkeyup
event trigger on username field where pass the input value as data
.On a successful callback write the response in
#uname_response
.
Completed Code
<script> $(document).ready(function(){ $("#txt_username").keyup(function(){ var username = $(this).val().trim(); if(username != ''){ $.ajax({ url: 'ajaxfile.php', type: 'post', data: {username: username}, success: function(response){ $('#uname_response').html(response); } }); }else{ $("#uname_response").html(""); } }); }); </script>
6. Conclusion
In this tutorial, I showed how you can check username is already taken by someone or not with AJAX.I use
keyup
event to send AJAX request to check value similarly you can trigger this on any other events – keydown, change, click.
0 Comments:
Post a Comment