login
unknown
plain_text
2 years ago
20 kB
7
Indexable
<%--
Document : login
Created on : Oct 2, 2023, 10:32:52 PM
Author : MSI GTX
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@10/dist/sweetalert2.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />
<style>
body {
background-color: brown;
background: -webkit-linear-gradient(to left, #8E0E00, #581414);
background: linear-gradient(to left, #8E0E00, #581414);
background-size: cover;
background-position-y: -80px;
font-size: 20px;
/* display: flex; */
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
#wrapper {
min-height: 100vh;
/*chiều cao tối thiểu như này là 100%*/
display: flex;
justify-content: center;
align-items: center;
}
#form-login {
max-width: 400px;
background: rgba(0, 0, 0, 0.45);
flex-grow: 1;
padding: 30px 30px 60px;
box-shadow: 0px 0px 17px 2px rgba(82, 46, 46, 0.8);
}
#form-forgot {
max-width: 400px;
background: rgba(0, 0, 0, 0.45);
flex-grow: 1;
padding: 30px 30px 60px;
box-shadow: 0px 0px 17px 2px rgba(82, 46, 46, 0.8);
}
#form-signup {
max-width: 400px;
background: rgba(0, 0, 0, 0.45);
flex-grow: 1;
padding: 30px 30px 60px;
box-shadow: 0px 0px 17px 2px rgba(82, 46, 46, 0.8);
}
.form-heading {
font-size: 50px;
color: #ffffff;
text-align: center;
margin-bottom: 30px;
}
.form-group {
border-bottom: 1px solid #fcfdff;
margin-top: 15px;
margin-bottom: 20px;
display: flex;
}
.form-group i {
color: #fff;
font-size: 16px;
padding-top: 5px;
padding-right: 10px;
}
.form-input {
/*hiển thị ảnh nền tron suốt*/
background: transparent;
width: 100%;
padding: 10px;
border: 0;
outline: 0;
color: #ffffff;
flex-grow: 1;
/*mở rộng phần tử bằng khoảng trắng*/
}
.form-input::placeholder {
color: #ffffff;
}
#eye i {
padding-right: 0;
cursor: pointer;
}
.material-symbols-rounded{
color: white;
}
.form-submit {
background: transparent;
border: 1px solid #ffffff;
color: #fff;
width: 100%;
text-transform: uppercase;
padding: 6px 10px;
transition: 0.25s ease-in-out;
margin-top: 30px;
}
.form-submit:hover {
border: 1px solid #54a0ff;
}
.form-button {
background: transparent;
text-align: center;
border: 1px solid #ffffff;
color: #fff;
width: 95%;
text-transform: uppercase;
padding: 6px 10px;
transition: 0.25s ease-in-out; /*giup chuyển đổi hiệu ứng mượt mà hơn*/
margin-top: 30px;
text-decoration: none; /* Loại bỏ gạch chân mặc định của thẻ a */
display: inline-block; /* Để thẻ a có kích thước và padding như một nút */
}
.form-button:hover {
border: 1px solid #54a0ff;
}
.error {
color: #fff;
font-size: 16px;
display: block;
margin-top: 5px;
}
</style>
</head>
<body>
<!--form đăng nhập có login forgot email register-->
<div id="wrapper">
<form action="AccountController" id="form-login" method="post">
<h1 class="form-heading">LOGIN</h1>
<div class="form-group">
<span class="material-symbols-rounded">mail</span>
<input type="text" class="form-input" name="email" id="email" placeholder="Email">
</div>
<span class="error" id="email-error"></span>
<div class="form-group">
<span class="material-symbols-rounded">lock</span>
<input type="password" class="form-input" name="password" id="password" placeholder="Password">
</div>
<span class="error" id="password-error"></span>
<input type="submit" name="btnlogin" id="btnlogin" value="Login" class="form-submit">
<button id="forgot-button" class="form-submit">Forgot</button>
<button id="signup-button" class="form-submit">Register</button>
<a class="form-button" href="/AccountController/index">Back</a>
</form>
<!--form quên mật khẩu khi bấm vào forgot thì cho nhập email và kiêm tra-->
<form action="AccountController" id="form-forgot" method="post" style="display: none;">
<h1 class="form-heading">FORGOT PASSWORD</h1>
<div class="form-group">
<span class="material-symbols-rounded">mail</span>
<input type="text" class="form-input" name="emailse" id="emailse" placeholder="Email">
</div>
<span class="error" id="email-error-forgot"></span>
<input type="submit" name="btnforgot" value="Check Email" class="form-submit">
<button id="back-to-forgot" class="form-submit">Back</button>
</form>
<!--form tạo tài khoản mới-->
<form action="AccountController" method="post" id="form-signup" style="display: none;">
<h1 class="form-heading">SIGN UP</h1>
<div class="form-group">
<span class="material-symbols-rounded">account_circle</span>
<input type="text" class="form-input" name="fullname" id="fullname" placeholder="Username">
</div>
<span class="error" id="name-error"></span>
<div class="form-group">
<span class="material-symbols-rounded">home</span>
<input type="text" class="form-input" name="address" id="address" placeholder="Address">
</div>
<span class="error" id="address-error"></span>
<div class="form-group">
<span class="material-symbols-rounded">phone_in_talk</span>
<input type="text" class="form-input" name="phone" id="phone" placeholder="Phone">
</div>
<span class="error" id="phone-error"></span>
<div class="form-group">
<span class="material-symbols-rounded">mail</span>
<input type="text" class="form-input" name="emails" id="emails" placeholder="Email">
</div>
<span class="error" id="emails-error"></span>
<div class="form-group">
<span class="material-symbols-rounded">lock</span>
<input type="password" class="form-input" name="passwords" id="passwords" placeholder="Password">
</div>
<span class="error" id="passwords-error"></span>
<input type="submit" name="btnsignup" id="btnsignup" value="SignUp" class="form-submit">
<button id="back-to-login" class="form-submit">Back</button>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
const loginForm = document.getElementById("form-login");
const signupForm = document.getElementById("form-signup");
const forgotForm = document.getElementById("form-forgot");
const backToLoginButton = document.getElementById("back-to-login");
const backToForgotButton = document.getElementById("back-to-forgot");
//nút quay về của form signup
document.getElementById("back-to-login").addEventListener("click", function (event) {
event.preventDefault(); //ngăn chặn việc gửi form
signupForm.style.display = "none";
forgotForm.style.display = "none";
loginForm.style.display = "block";
});
//nút quay về của form forgot
document.getElementById("back-to-forgot").addEventListener("click", function (event) {
event.preventDefault();
signupForm.style.display = "none";
forgotForm.style.display = "none";
loginForm.style.display = "block";
});
// chức năng form login
$(document).ready(function () {
$("#btnlogin").click(function (event) {
event.preventDefault(); // Prevent form submission
performAjaxRequest();
});
// hiển thị trang forgot
$("#forgot-button").click(function (event) {
loginForm.style.display = "none";
signupForm.style.display = "none";
forgotForm.style.display = "block";
$("#login-error").text(""); // Reset the login error message
event.preventDefault(); // Prevent form submission
});
// hiển thị form signup
$("#signup-button").click(function (event) {
loginForm.style.display = "none";
signupForm.style.display = "block";
forgotForm.style.display = "none";
$("#login-error").text(""); // Reset the login error message
event.preventDefault(); // Prevent form submission
});
});
// hiển thị form thông báo thành công hay thất bại
function performAjaxRequest() {
var email = $("#email").val().trim();
var password = $("#password").val().trim();
var hasError = false;
// Check if email is empty or missing '@'
if (email === "" || email.indexOf('@') === -1) {
$("#email-error").text("Please enter a valid email address ex: abc@gmail.com.").css("color", "red");
hasError = true;
} else {
$("#email-error").text("");
}
// Check if password is empty
if (password === "") {
$("#password-error").text("Please enter password.").css("color", "red");
hasError = true;
} else {
$("#password-error").text("");
}
// If there is an error, stop further processing
if (hasError) {
return;
}
$.ajax({
type: "POST",
url: "AccountController",
data: {btnlogin: "Login", email: email, password: password},
success: function (response) {
if (response === "SUCCESS") {
// Redirect to another page after successful login
Swal.fire({
title: 'Login Success',
text: 'Click OK to switch to the home page ',
icon: 'success',
confirmButtonText: 'OK'
}).then(() => {
// Redirect to another page after clicking OK
window.location.href = '/AccountController/index'; // Change this to the desired URL
});
} else {
// Display SweetAlert for failure
Swal.fire({
title: 'Login Failed',
text: 'Please check your email and password.',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
error: function () {
// Display SweetAlert for error
Swal.fire({
title: 'System Error',
text: 'The system is failing',
icon: 'error',
confirmButtonText: 'OK'
});
}
});
}
$(document).ready(function () {
$("#btnsignup").click(function (event) {
event.preventDefault(); // Prevent form submission
performAjaxRequestRegister();
});
});
// hiện form thông báo của signup
function performAjaxRequestRegister() {
var fullname = $("#fullname").val().trim();
var address = $("#address").val().trim();
var phone = $("#phone").val().trim();
var emails = $("#emails").val().trim();
var passwords = $("#passwords").val().trim();
var hasErrors = false;
if (fullname === "") {
$("#name-error").text("Please enter a valid name").css("color", "red");
hasErrors = true;
} else {
$("#name-error").text("");
}
if (address === "") {
$("#address-error").text("Please enter a valid address").css("color", "red");
hasErrors = true;
} else {
$("#address-error").text("");
}
if (phone === "") {
$("#phone-error").text("Please enter a valid phone").css("color", "red");
hasErrors = true;
} else {
var phoneNumberPattern = /^0[0-9]{9}$/;
if (!phoneNumberPattern.test(phone)) {
$("#phone-error").text("Phone number start with 0 and have a length 10").css("color", "red");
hasErrors = true;
}
}
if (emails === "" || emails.indexOf('@') === -1) {
$("#emails-error").text("Please enter a valid email address ex: abc@gmail.com.").css("color", "red");
hasErrors = true;
} else {
$("#emails-error").text("");
}
// Check if password is empty
if (passwords === "") {
$("#passwords-error").text("Please enter password.").css("color", "red");
hasErrors = true;
} else {
$("#passwords-error").text("");
}
if (hasErrors) {
return;
}
$.ajax({
type: "POST",
url: "AccountController",
data: {btnsignup: "SignUp", fullname: fullname, address: address, phone: phone, emails: emails, passwords: passwords},
success: function (response) {
if (response === "REGISTER") {
// Redirect to another page after successful login
Swal.fire({
title: 'Register Success',
text: 'Click OK to authenticate the account ',
icon: 'success',
confirmButtonText: 'OK'
}).then(() => {
// Redirect to another page after clicking OK
window.location.href = '/AccountController/pin'; // Change this to the desired URL
});
} else if (response === "EXITEMAIL") {
// Redirect to another page after successful login
Swal.fire({
title: 'Email Exist',
text: 'Email already exists, please enter another email ',
icon: 'error',
confirmButtonText: 'OK'
});
} else if (response === "ERROR") {
// Display SweetAlert for failure
Swal.fire({
title: 'Login Failed',
text: 'Your account was not created successfully.Please check the information again',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
error: function () {
// Display SweetAlert for error
Swal.fire({
title: 'System Error',
text: 'The system is failing.',
icon: 'error',
confirmButtonText: 'OK'
});
}
});
}
</script>
</body>
</html>
Editor is loading...
Leave a Comment