What's new

Log in page

loktoy

Eternal Poster
Joined
Oct 20, 2014
Posts
1,166
Solutions
2
Reaction
103
Points
496
Age
30
bakit kaya di sya napupunta sa target na page na ito "
header("Location: admin/dashboard.php?login=success");
exit(); // Don't forget to exit after redirecting
} else {
$_SESSION['login_success_timestamp'] = time();
header("Location: user/dashboard.php?login=success");
exit(); // Don't forget to exit after redirecting"

pero kapag tinaggal ko yun ito code na to "
e.preventDefault();

di naman tuloy gumagana yun form validation ko..

ito pala code ko

<?php
include "./config/config.php";
$email_address = $password = '';
$email_addressErr = $passwordErr = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (empty($_POST['email'])) {
$email_addressErr = "Email|phone is required!";
} else {
$email_address = $_POST['email'];
}
if (empty($_POST['password'])) {
$passwordErr = "Password is required!";
} else {
$password = $_POST['password'];
}
if ($email_address && $password) { // Correct the variable name from $username to $email_address
$check_email = mysqli_query($con, "SELECT * FROM registration WHERE email_address = '$email_address'");
$check_email_row = mysqli_num_rows($check_email);
if ($check_email_row > 0) {
while ($row = mysqli_fetch_assoc($check_email)) {
$user_id = $row['user_id'];
$db_password = $row['password'];
$db_user_type = $row['user_type'];
if ($password == $db_password) {
session_start();
$_SESSION['user_id'] = $user_id;
if ($db_user_type == '1') {
$_SESSION['login_success_timestamp'] = time();
header("Location: admin/dashboard.php?login=success");
exit(); // Don't forget to exit after redirecting
} else {
$_SESSION['login_success_timestamp'] = time();
header("Location: user/dashboard.php?login=success");
exit(); // Don't forget to exit after redirecting
}
} else {
echo "<script>var passwordIncorrect = true;</script>";
}
}
} else {
$email_addressErr = "Email|phone is not registered!";
}
}
}
?>

<!DOCTYPE html>
<HTMl:5>
<head>
<title>login</title>
<link rel="stylesheet" href="../Innerjoin/css/bootstrap.css">
<link rel="stylesheet" href="../Innerjoin/css/style.css">

</head>
<body>
<div class="body-background">
<div class="container col-xl-10 col-xxl-8 px-4 py-5">
<div class="row align-items-center g-lg-5 py-5">
<div class="col-lg-7 text-center text-lg-start">
<h1 class="display-5 fw-bold lh-1 text-body-emphasis mb-2">BUREAU OF SOILS & <BR> WATER MANAGEMENT| <br> ACCOUNTING SECTION</h1>
<div class="container">
<p class="col-lg-10 fs-6 lh-1 " style ="font-family:'MerriweatherLight';"><span class="dropCaps">B</span> = <span class="dropsmall">Boost
competence on S&W resources research and development to contribute towards agricultural productivity.</span><br>
<span class="dropCaps1">S</span> = <span class="dropsmall1"> Strengthen
linkages and partnerships, and ensure mandatory compliance to relevant statutory and regulatory requirements.</span>
<br>
<span class="dropCaps2">W</span> = <span class="dropsmall2"> Work
towards effective generation, development and delivery of relevant and innovative S&W products and services.</span>
<br>
<span class="dropCaps3">M</span> = <span class="dropsmall3"> Maintain
high level of integrity and utmost professionalism, and promote welfare of all employees.</span>
</p>
</div>
</div>
<div class=" col-lg-5">
<form id="loginForm" method= "POST" action = "" class="p-4 p-md-5 border rounded-3 bg-body-tertiary">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="text" class="form-control form-control-sm" name="email" id="InputEmail1" aria-describedby="emailHelp" placeholder="Enter email | Phone Number">
<div class="error"></div>
<div class="error-message" id="emailErrorMessage"></div>
</div>
<div class="form-group mt-2">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control form-control-sm" name="password" id="InputPassword1" placeholder="Password">
<div class="error"></div>
<small id="emailHelp" class="form-text text-muted">We'll never share your Password with anyone else.</small>
</div>
<div class="form-group mt-3">
<button id="loginButton" class="w-100 btn btn-sm btn-lg btn-primary" type="submit">Login</button>
</div>
<div class="text-center mt-3 fw-bold">
<small class="text-body-primary"><a href ="signup.php">Forgot Password</a>.
</div>
<hr class="my-2">
<!-- <small class="text-body-secondary">By clicking Sign up, you agree to the terms of use.</small>
<div class=" mb-3">
<label> -->
<div class="text-center fs-6 fw-bold">
<small class="text-body-secondary"> I dont have an Account <a href ="signup.php">Signup</a>.
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<script>
const form = document.getElementById('loginForm');
const email = document.getElementById('InputEmail1');
const password = document.getElementById('InputPassword1');
form.addEventListener('submit', e => {
e.preventDefault();
validateInputs();
});
const setError = (element, message) => {
const formgroup = element.parentElement;
const errorDisplay = formgroup.querySelector('.error');
errorDisplay.innerText = message;
formgroup.classList.add('error');
formgroup.classList.remove('success');
}
const setSuccess = element => {
const formgroup = element.parentElement;
const errorDisplay = formgroup.querySelector('.error');
errorDisplay.innerText = '';
formgroup.classList.add('success');
formgroup.classList.remove('error');
}
const isValidEmail = email => {
const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
}
const validateInputs = () => {
const emailValue = email.value.trim();
const passwordValue = password.value.trim();
if(emailValue === ''){
setError(email, 'Email Address is required');
}else if (!isValidEmail(emailValue)){
setError(email, 'Provide a valid email address');
}else {
setSuccess(email);
}
if(passwordValue === ''){
setError(password, 'Password is required');
}else if (passwordValue.length < 8){
setError(password, 'Password must be at least 8 character.');
}else {
setSuccess(password);
}
}
</script>
</body>
</HTMl:5>
 
Sa code na ibinigay mo, ang header("Location: admin/dashboard.php?login=success"); ay isang function para i-redirect ang user sa target na page. Kapag tinanggal mo ito, hindi na magre-redirect ang user sa admin/dashboard.php kung sakaling siya ay admin. Dahil dito, ang user ay mananatili sa current page na kung saan ka nag-login.

Ang e.preventDefault(); naman ay ginagamit sa JavaScript para pigilan ang default behavior ng isang event. Sa code mo, ito ay ginagamit para pigilan ang default behavior ng submit event ng form. Kapag tinanggal mo ito, hindi na iprevent ang default behavior at magaganap ang submit event, kung saan magpo-post ang form at magre-reload ang page.

Ang mga ito ay magkakaugnay dahil kapag tinanggal mo ang header("Location: admin/dashboard.php?login=success"); function, hindi na magre-redirect ang user at mananatili sa current page. At dahil hindi mo na rin ini-prevent ang default behavior ng submit event, magpo-post ang form at magre-reload ang page. Ito ang dahilan kung bakit hindi gumagana ang form validation mo.

Para maayos ito, dapat i-prevent mo pa rin ang default behavior ng submit event kahit wala kang header("Location: admin/dashboard.php?login=success"); function. Pwede mo gawin ito sa pamamagitan ng paggamit ng e.preventDefault(); function gaya ng naka-comment sa code na ibinigay mo.
 
JS try mo wag na tangalin e.prev
Code:
fetch('THIS_FILE_PAGE_NA_TO', {
method: "POST",
  body: new FormData(form),
})

PHP

header('Access-Control-Allow-Origin: *');
 
Last edited:

Similar threads

Back
Top