How to validate username and password in javascript from database

Try looking into jQuery's AJAX function. Upon submission of the login form, send the username and password combo to //universe.tc.uvu.edu/cs2550/assignments/PasswordCheck/check.php as follows.


   User Name:
   

   Password:
   

   
   




$['#formLogin'].submit[function[e] {
    e.preventDefault[];
    var username = $['input#username'].val[];
    var password = $['input#password'].val[];

    if[password == ""]{
       alert["Please enter a Password"];
       $['#password'].focus[];
       return false;
    }

    if[username == ""]{
       alert["Please enter a Username"];
       $['#username'].focus[];
       return false;
    }

    if[username != '' && password != ''] {
        $.ajax[{
            url: '//universe.tc.uvu.edu/cs2550/assignments/PasswordCheck/check.php',
            type: 'POST',
            data: {
                username: username,
                password: password
            },
            success: function[data] {
                console.log[data];
                // It looks like the page that handles the form returns JSON
                // Parse the JSON
                var obj = JSON.parse[data];

                if[obj.result != 'invalid'] {
                    alert["Login succeeded"];
                    // You should redirect the user too
                    window.location = '//redirecturl.com';
                }                    
            }
        }];
    } 
}]; 

This effectively validates your form submission. I prefer using the jQuery library as opposed to raw JS. You should look into it too.

It's also worth noting that forms must ALWAYS be validated on the server side as well. Because a client could always just disable JavaScript in their browser to bypass your front end validation. As mentioned by someone who commented on your question, your method of backend validation is pretty insecure. Raw values of passwords should never be stored. Rather, it's good to use an sha1 hash of the password so that if an unwanted user somehow hacks into your DB he/she doesn't have all of the passwords stored in there.

Also, username/password combination validation works a lot smoother on the backend if you just do something like

// Connect to the DB
$con = mysqli_connect['localhost', 'user', 'pass', 'db']; 
// Escape the form values or user prepared statements
$username = mysqli_real_escape_string[$con, $username];
$password = mysqli_real_escape_string[$con, $password];
$sql = "SELECT * FROM users WHERE username = '".$username." AND password = '".$password."'";
$result = mysqli_query[$con, $sql];
$count = mysqli_num_rows[$result];

if[$count == 1] {
    echo "Success";
} else {
    echo "Fail";
}

instead of using a static list.

JavaScript : HTML Form validation - checking for password

Last update on August 19 2022 21:50:37 [UTC/GMT +8 hours]

Sometimes a password validation in a form is essential. You can create a password in different ways, it's structure may be simple, reasonable or strong. Here we validate various type of password structure through JavaScript codes and regular expression.

  • Check a password between 7 to 16 characters which contain only characters, numeric digits and underscore and first character must be a letter.
  • Check a password between 6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter.
  • Check a password between 7 to 15 characters which contain at least one numeric digit and a special character.
  • Check a password between 8 to 15 characters which contain at least one lowercase letter, one uppercase letter, one numeric digit, and one special character.

Following code blocks contain actual codes for the said validations. We have kept the CSS code part common for all the validations.

CSS Code:

li {list-style-type: none;
font-size: 16pt;
}
.mail {
margin: auto;
padding-top: 10px;
padding-bottom: 10px;
width: 400px;
background : #D8F1F8;
border: 1px soild silver;
}
.mail h2 {
margin-left: 38px;
}
input {
font-size: 20pt;
}
input:focus, textarea:focus{
background-color: lightyellow;
}
input submit {
font-size: 12pt;
}
.rq {
color: #FF0000;
font-size: 10pt;
}

To check a password between 7 to 16 characters which contain only characters, numeric digits, underscore and first character must be a letter

To validate the said format we use the regular expression ^[A-Za-z]\w{7,15}$, where \w matches any word character [alphanumeric] including the underscore [equivalent to [A-Za-z0-9_]].  Next the match[] method of string object is used to match the said regular expression against the input value. Here is the complete web document.

HTML Code:





title>JavaScript form validation - Password Checking - 1



Input Password and Submit [7 to 15 characters which contain only characters, numeric digits, underscore and first character must be a letter]

Chủ Đề