Creare un sistema di login con PHP e MySQL

Creare un sistema di login con PHP e MySQL

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");
}
}