I am trying to check passwords to make sure they contain at least 1 uppercase, lowercase, and one number. I have looked into this but cannot find why every single time, it returns false. For example, I put in Thechedda123 , and it still returns false, and doesn't post to my database.
$password = $_GET["password"];
$regex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$";
$query="INSERT INTO `users`(`username`, `password`, `school`, `grade`,`email`, `classes`, `firstname`, `lastname`) VALUES ('$username','$password','$school','$grade','$email','$school','$firstname','$firstname')";
if (preg_match($regex, $password)){
$result = mysql_query($query);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message = 'Whole query: ' . $query;
die($message);
}
}else{
$numb = 'true';
$cap = 'true';
if (preg_match($regex, $password)){
$numb = 'false';
}
if (preg_match($regex, $password)){
$cap = 'false';
}
echo $cap;
echo $numb;
}
?>