3E e 3I SIA: Il login solo con Html, Css e Javascript
Questo esercizio è semplicemente un esempio didattico.
La procedura consente di inserire le credenziali e con una funzione in javascript viene effettuato il controllo su username e password, i tentativi son 3, nel caso le credenziali sono state inserite, appare un alert con il messaggio "Login effettuato correttamente" e appare la pagina dell'area riservata altrimenti ti informa che hai ancora n tentativi rimasti.
Ovviamente è solo un piccolo esempio senza sessioni, senza php, senza crittografia e senza database.
Per chi avesse ancora problemi ad aprire i file dell'esercizio sul login ecco il contenuto:
pagina html: javascript_login.html
<html>
<head>
<title>Javascript Login Form Validation</title>
<!-- Include CSS File Here -->
<link rel="stylesheet" href="css/style.css"/>
<!-- Include JS File Here -->
<script src="js/login.js"></script>
</head>
<body>
<div class="container">
<div class="main">
<h2>Javascript Login con Validazione del form e max tre tentativi</h2>
<form id="form_id" method="post" name="myform">
<label>User Name :</label>
<input type="text" name="username" id="username"/>
<label>Password :</label>
<input type="password" name="password" id="password"/>
<input type="button" value="Login" id="submit" onclick="validate()"/>
</form>
<span><b class="note">Note : </b>Per questo esempio dovete inserire username and password. <br/><b class="valid">User Name : Laboratorio<br/>Password : PaoloLatella</b></span>
</div>
</div>
</body>
</html>
Pagina CSS: style.css
/* Below line is used for online Google font */
@import url(http://fonts.googleapis.com/css?family=Raleway);
h2{
background-color: #FEFFED;
padding: 30px 35px;
margin: -10px -50px;
text-align:center;
border-radius: 10px 10px 0 0;
}
hr{
margin: 10px -50px;
border: 0;
border-top: 1px solid #ccc;
margin-bottom: 40px;
}
div.container{
width: 900px;
height: 610px;
margin:35px auto;
font-family: 'Raleway', sans-serif;
}
div.main{
width: 300px;
padding: 10px 50px 25px;
border: 2px solid gray;
border-radius: 10px;
font-family: raleway;
float:left;
margin-top:50px;
}
input[type=text],input[type=password]{
width: 100%;
height: 40px;
padding: 5px;
margin-bottom: 25px;
margin-top: 5px;
border: 2px solid #ccc;
color: #4f4f4f;
font-size: 16px;
border-radius: 5px;
}
label{
color: #464646;
text-shadow: 0 1px 0 #fff;
font-size: 14px;
font-weight: bold;
}
center{
font-size:32px;
}
.note{
color:red;
}
.valid{
color:green;
}
.back{
text-decoration: none;
border: 1px solid rgb(0, 143, 255);
background-color: rgb(0, 214, 255);
padding: 3px 20px;
border-radius: 2px;
color: black;
}
input[type=button]{
font-size: 16px;
background: linear-gradient(#ffbc00 5%, #ffdd7f 100%);
border: 1px solid #e5a900;
color: #4E4D4B;
font-weight: bold;
cursor: pointer;
width: 100%;
border-radius: 5px;
padding: 10px 0;
outline:none;
}
input[type=button]:hover{
background: linear-gradient(#ffdd7f 5%, #ffbc00 100%);
}
Pagina Js: login.js
var attempt = 3; // Variabile inizializzata a tre che sono i tre tentativi.
// Funzione di validazione del login.
function validate(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if ( username == "Laboratorio" && password == "PaoloLatella"){
alert ("Login effettuato correttamente");
window.location = "menu.html"; // Reindirizza il browser in un'altra pagina
return false;
}
else{
attempt --;// Decremento di uno.
alert("Hai ancora "+attempt+" tentativi ");
// Disabling fields after 3 attempts.
if( attempt == 0){
document.getElementById("username").disabled = true;
document.getElementById("password").disabled = true;
document.getElementById("submit").disabled = true;
return false;
}
}
}
pagina Html: menu.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Area riservata</title>
<style type="text/css">
.auto-style1 {
text-align: center;
font-family: Cambria, Cochin, Georgia, Times, "Times New Roman", serif;
font-size: xx-large;
}
.auto-style2 {
text-align: center;
}
</style>
</head>
<body>
<div class="auto-style1">
<strong>Benvenuti nell'area riservata
</strong></div>
<p class="auto-style2">
<img alt="" height="281" src="img/work_in_progress.png" width="559" /></p>
<p class="auto-style2">
<img alt="" height="328" src="img/193-1931390_sito-in-costruzione-png-transparent-png.png" width="840" /></p>
</body>
</html>
cliccando qui è possibile scaricare l'intero esempio funzionante:
Se lo scaricamento non avviene copiare l'indirizzo del link in un'altra scheda e confermare.
Commenti
Posta un commento