Skip to content

Commit

Permalink
Fix reg/login validation
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchanRD committed Oct 9, 2024
1 parent 642c0f4 commit 644abba
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 28 deletions.
4 changes: 2 additions & 2 deletions email_verify.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
SET `account_status` = 'Verified' , `resetcode` = '0'
WHERE `email` = '$email';";
$result = mysqli_query($conn, $sql);
session_destroy();
header("location: user_login.php");
$_SESSION['loggedin'] = true;
header("location: home.php");
} else {
$showError = "Invalid OTP";
}
Expand Down
44 changes: 33 additions & 11 deletions main.css
Original file line number Diff line number Diff line change
Expand Up @@ -2516,8 +2516,24 @@ p{
}

.login-signup-form__input-group {
display: grid;
grid-gap: 1rem
display: flex;
gap: 1rem;
}

.login-signup-form__inputfield{
font-size: 1.5rem;
background: none;
border: none;
width: 100%;
}

.login-signup-form__inputfield:focus{
outline: none;
}

.eye-open{
font-size: 1.5rem;
cursor: pointer;
}

.login-signup-form__input-group--full {
Expand All @@ -2542,38 +2558,38 @@ p{
border-radius: .7rem
}

.login-signup-form__input::-webkit-input-placeholder {
.login-signup-form__inputfield::-webkit-input-placeholder {
font-weight: 400;
color: rgba(0, 0, 0, 0.4)
}

.login-signup-form__input::-moz-placeholder {
.login-signup-form__inputfield::-moz-placeholder {
font-weight: 400;
color: rgba(0, 0, 0, 0.4)
}

.login-signup-form__input:-ms-input-placeholder {
.login-signup-form__inputfield:-ms-input-placeholder {
font-weight: 400;
color: rgba(0, 0, 0, 0.4)
}

.login-signup-form__input::-ms-input-placeholder {
.login-signup-form__inputfield::-ms-input-placeholder {
font-weight: 400;
color: rgba(0, 0, 0, 0.4)
}

.login-signup-form__input::placeholder {
.login-signup-form__inputfield::placeholder {
font-weight: 400;
color: rgba(0, 0, 0, 0.4)
}

.login-signup-form__input[type="password"] {
.login-signup-form__inputfield[type="password"] {
font-weight: 900;
letter-spacing: 6px
}

.login-signup-form__input[type="password"]::-webkit-input-placeholder {
font-size: 8.5rem;
.login-signup-form__inputfield[type="password"]::-webkit-input-placeholder {
font-size: 5.5rem;
font-weight: 400;
letter-spacing: 4px;
color: rgba(0, 0, 0, 0.3)
Expand Down Expand Up @@ -2609,7 +2625,9 @@ p{

.login-signup-form__input,
.login-signup-form__button {
outline: none
outline: none;
display: flex;
align-items: center;
}

.login-signup-form__submit {
Expand All @@ -2636,6 +2654,10 @@ p{
grid-template-columns: 1fr
}

.login-signup-form__input-group{
flex-wrap: wrap;
}

.login-signup-form__input {
font-size: 1.5rem;
padding: 1.8rem 1.3rem;
Expand Down
42 changes: 32 additions & 10 deletions user_login.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,23 @@
$login= false;
$showError = false;
$showalert = false;
session_start();

if (isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == true){
header("location: home.php");
}


if ($_SERVER["REQUEST_METHOD"]=="POST"){
include 'partials/_dbconnect.php';
$email = $_POST["email"];
$password = $_POST["password"];
// Password complexity pattern (at least one lowercase, one uppercase, one digit, one special char, and minimum 8 characters)
$pattern = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/';

//to check if the password/ email is blank
if($email == '' || $password == ''){
$showError = "Enter valid Email/password";
}
elseif (!preg_match($pattern, $password)) {
$showError = "Password must be at least 8 characters long, include at least one uppercase letter, one lowercase letter, one digit, and one special character.";
}
//if not blank then go to else
//if not blank then go to else
else {
$sql = "select * FROM users where email = '$email'";
$result = mysqli_query($conn, $sql);
Expand Down Expand Up @@ -156,10 +157,12 @@
<div class="login-signup-form__input-group login-signup-form__input-group--full">
<input type="email" class="login-signup-form__input" id="email" name="email" placeholder="[email protected]">
</div>
<div class="login-signup-form__input-group login-signup-form__input-group--full">
<input type="password" class="login-signup-form__input" name="password" id="password" placeholder=".......">
</div>

<div class="login-signup-form__input-group">
<div class="login-signup-form__input" onclick="document.getElementById('password').focus()">
<input type="password" name="password" class="login-signup-form__inputfield" id="password" placeholder=".......">
<i class="bi bi-eye-fill eye-open" id="eye-btn-p"></i>
</div>
</div>
<button class="login-signup-form__submit u-margin-top-large" type="submit" id="submit-login">Sign In</button>
</form>
</div>
Expand All @@ -174,6 +177,25 @@
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script>
const eyeBtnPassword =document.getElementById("eye-btn-p");
const eyeBtnConfirmPassword =document.getElementById("eye-btn-cp");
const passwordField =document.getElementById("password");
const confirmPasswordField =document.getElementById("cpassword");

eyeBtnPassword.addEventListener('click', ()=>{
let attr =passwordField.getAttribute('type')
if(attr == "password"){
passwordField.setAttribute('type','text');
eyeBtnPassword.classList.remove("bi-eye-fill")
eyeBtnPassword.classList.add("bi-eye-slash-fill")
}else{
passwordField.setAttribute('type','password');
eyeBtnPassword.classList.add("bi-eye-fill")
eyeBtnPassword.classList.remove("bi-eye-slash-fill")
}
})
</script>
</body>
</html>

Expand Down
56 changes: 51 additions & 5 deletions user_signup.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

session_start();

if (isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == true){
header("location: home.php");
}


$showAlert = false;
Expand All @@ -16,13 +20,19 @@
$email= $_POST["email"];

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Password complexity pattern (at least one lowercase, one uppercase, one digit, one special char, and minimum 8 characters)
$pattern = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/';

$password = $_POST["password"];
$cpassword = $_POST["cpassword"];

if ($email == '' || $password == '') {
$showError = "Enter valid Email/password";
}
// Preg_match for the password pattern
elseif (!preg_match($pattern, $password)) {
$showError = "Password must be at least 8 characters long, include at least one uppercase letter, one lowercase letter, one digit, and one special character.";
}
else{
$existSql = "SELECT * FROM `users` WHERE email = '$email' ";
$result = mysqli_query($conn, $existSql);
Expand Down Expand Up @@ -190,11 +200,16 @@ class="btn btn-dark me-2">Login</button></a>
<input type="email" name="email" class="login-signup-form__input" id="email-id" placeholder="[email protected]">

</div>
<div class="login-signup-form__input-group login-signup-form__input-group--half">
<input type="password" name="password" class="login-signup-form__input" id="password" placeholder=".......">
<input type="password" name="cpassword" class="login-signup-form__input" id="password" placeholder=".......">
<div class="login-signup-form__input-group">
<div class="login-signup-form__input" onclick="document.getElementById('password').focus()">
<input type="password" name="password" class="login-signup-form__inputfield" id="password" placeholder=".......">
<i class="bi bi-eye-fill eye-open" id="eye-btn-p"></i>
</div>
<div class="login-signup-form__input" onclick="document.getElementById('cpassword').focus()">
<input type="password" name="cpassword" class="login-signup-form__inputfield" id="cpassword" placeholder=".......">
<i class="bi bi-eye-fill eye-open" id="eye-btn-cp"></i>
</div>
</div>

<button class="login-signup-form__submit u-margin-top-extra-large" type="submit" id="submit-login">Sign Up</button>
</form>
</div>
Expand Down Expand Up @@ -223,7 +238,38 @@ class="btn btn-dark me-2">Login</button></a>
</div>
</section>


<script>
const eyeBtnPassword =document.getElementById("eye-btn-p");
const eyeBtnConfirmPassword =document.getElementById("eye-btn-cp");
const passwordField =document.getElementById("password");
const confirmPasswordField =document.getElementById("cpassword");

eyeBtnPassword.addEventListener('click', ()=>{
let attr =passwordField.getAttribute('type')
if(attr == "password"){
passwordField.setAttribute('type','text');
eyeBtnPassword.classList.remove("bi-eye-fill")
eyeBtnPassword.classList.add("bi-eye-slash-fill")
}else{
passwordField.setAttribute('type','password');
eyeBtnPassword.classList.add("bi-eye-fill")
eyeBtnPassword.classList.remove("bi-eye-slash-fill")
}
})

eyeBtnConfirmPassword.addEventListener('click', ()=>{
let attr =confirmPasswordField.getAttribute('type')
if(attr == "password"){
confirmPasswordField.setAttribute('type','text');
eyeBtnConfirmPassword.classList.remove("bi-eye-fill")
eyeBtnConfirmPassword.classList.add("bi-eye-slash-fill")
}else{
confirmPasswordField.setAttribute('type','password');
eyeBtnConfirmPassword.classList.add("bi-eye-fill")
eyeBtnConfirmPassword.classList.remove("bi-eye-slash-fill")
}
})
</script>

</body>

Expand Down

0 comments on commit 644abba

Please sign in to comment.