La funzione di login ad un sito web è una funzione basilare, che viene richiesta in moltissimi progetti e in questo articolo vediamo come creare un semplice sistema di login, usando PHP e MySQL.
Immaginiamo di avere una tabella MySQL chiamata “Users” dentro il database “Progetto”.
I campi della tabella “Users” saranno: id, email (varchar 50), password (varchar 50), nome (varchar 25), cognome (varchar 25), data_registrazione (timestamp NOT NULL), ultimo_accesso (timestamp NULL).
Creiamo innanzitutto un file di connessione al database, immaginando di avere un utente “root” che utilizza come password “root”.
Creiamo quindi un file PHP che chiameremo database.php:
<?php $mysqli = new mysqli('localhost', 'root', 'root', 'ultimo'); if($mysqli->connect_errno){ die("Errore di connessione al database"); }
Creiamo ora un form di login HTML con i campi email e password:
<html> <head> <title>Login Test</title> </head> <body> <form method="post" action="login.php"> <label>Email</label> <input type="email" name="email"> <label>Password</label> <input type="password" name="password"> <input type="submit" value="Login"> </form> </body> </html>
Adesso quello che ci rimane da fare è creare il file di login vero e proprio, che leggerà i dati che vengono inviati dal form HTML che abbiamo appena creato:
<?php require_once("database.php"); if(isset($_POST['email']) && $_POST['email'] && isset($_POST['password']) && $_POST['password']){ $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); $password = filter_var($_POST['password'], FILTER_SANITIZE_STRING); if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ die("Inserire una password valida"); } }