4E e 5E SIA: Login e registrazione con Php e MySQLi (ultima versione) con file zippato della procedura
Oggi condividerò Simple User Registration & Login Script in PHP e
MySQLi,
https://www.allphptricks.com/simple-user-registration-login-script-in-php-and-mysqli/
spiegherò le funzionalità di base della registrazione e dell'accesso all'area protetta. In questo tutorial l'utente può registrarsi, accedere all'area riservata e disconnettersi.
Sto usando PHP 5.6 per questo tutorial, non ho controllato
questo tutorial su PHP 7, assicurati gentilmente di utilizzare PHP 5.6 per
evitare errori imprevisti.
Passaggi per creare una semplice
registrazione utente e script di accesso in PHP e MySQLi
- Crea
una banca dati
- Crea
una tabella di database con i seguenti cinque campi:
id, username, email, password, trn_date - Crea un
modulo di registrazione
- Crea un
modulo di accesso
- Connettiti
al database utilizzando PHP
- Autenticare
l'utente connesso
- Crea
pagina indice
- Crea
pagina dashboard
- Crea un
logout
- Crea un
file CSS
1. Crea un database
Per creare un database, accedi a phpmyadmin e fai
clic sulla scheda del database, inserisci il nome del tuo database e fai clic
sul pulsante Crea database o semplicemente esegui la query seguente. Nel
mio caso ho creato un database con il nome register .
CREATE DATABASE
register;
2. Creazione di una tabella di database
Per creare una tabella, eseguire la query seguente in SQL.
CREATE TABLE IF NOT EXISTS
`users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT
NULL,
`email` varchar(50) NOT
NULL,
`password` varchar(50) NOT
NULL,
`trn_date` datetime NOT NULL,
PRIMARY KEY (`id`)
);
3. Creazione di un modulo di
registrazione
Crea semplicemente una pagina con il nome registration.php e
incolla il seguente codice al suo interno.
<!DOCTYPE
html>
<html>
<head>
<meta charset="utf-8">
<title>Registration</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<?php
require('db.php');
// If form submitted, insert values into the database.
if (isset($_REQUEST['username'])){
//
removes backslashes
$username = stripslashes($_REQUEST['username']);
//escapes
special characters in a string
$username = mysqli_real_escape_string($con,$username);
$email = stripslashes($_REQUEST['email']);
$email = mysqli_real_escape_string($con,$email);
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$trn_date = date("Y-m-d
H:i:s");
$query = "INSERT
into `users` (username, password, email, trn_date)
VALUES ('$username', '".md5($password)."',
'$email', '$trn_date')";
$result = mysqli_query($con,$query);
if($result){
echo "<div
class='form'>
<h3>You are registered successfully.</h3>
<br/>Click here to <a
href='login.php'>Login</a></div>";
}
}else{
?>
<div class="form">
<h1>Registration</h1>
<form name="registration" action="" method="post">
<input
type="text" name="username" placeholder="Username" required />
<input
type="email" name="email" placeholder="Email" required />
<input
type="password" name="password" placeholder="Password" required />
<input
type="submit" name="submit" value="Register" />
</form>
</div>
<?php } ?>
</body>
</html>
4. Creazione di un modulo di accesso
Crea una pagina con nome login.php e incolla il seguente
codice al suo interno.
<!DOCTYPE
html>
<html>
<head>
<meta charset="utf-8">
<title>Login</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<?php
require('db.php');
session_start();
// If form submitted, insert values into the database.
if (isset($_POST['username'])){
//
removes backslashes
$username = stripslashes($_REQUEST['username']);
//escapes
special characters in a string
$username = mysqli_real_escape_string($con,$username);
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
//Checking is user existing in the
database or not
$query = "SELECT
* FROM `users` WHERE username='$username'
and password='".md5($password)."'";
$result = mysqli_query($con,$query)
or die(mysql_error());
$rows = mysqli_num_rows($result);
if($rows==1){
$_SESSION['username'] = $username;
//
Redirect user to index.php
header("Location: index.php");
}else{
echo "<div class='form'>
<h3>Username/password is incorrect.</h3>
<br/>Click here to <a
href='login.php'>Login</a></div>";
}
}else{
?>
<div class="form">
<h1>Log
In</h1>
<form action="" method="post" name="login">
<input
type="text" name="username" placeholder="Username" required />
<input
type="password" name="password" placeholder="Password" required />
<input
name="submit" type="submit" value="Login" />
</form>
<p>Not
registered yet? <a href='registration.php'>Register
Here</a></p>
</div>
<?php } ?>
</body>
</html>
5. Connettersi al database
Crea una pagina con il nome db.php e incolla il codice qui
sotto.
<?php
// Enter your Host, username, password, database below.
// I left password empty because i do not set password on localhost.
$con = mysqli_connect("localhost","root","","register");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
6. Autenticare l'utente connesso
Crea una pagina con il nome auth.php e incolla il codice
qui sotto.
<?php
session_start();
if(!isset($_SESSION["username"])){
header("Location:
login.php");
exit(); }
?>
7. Creazione della pagina indice
Crea una pagina con il nome index.php e incolla il codice
qui sotto.
<?php
//include auth.php file on all secure pages
include("auth.php");
?>
<!DOCTYPE
html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome
Home</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<div class="form">
<p>Welcome
<?php echo $_SESSION['username']; ?>!</p>
<p>This
is secure area.</p>
<p><a href="dashboard.php">Dashboard</a></p>
<a href="logout.php">Logout</a>
</div>
</body>
</html>
8. Creazione della pagina del dashboard
Crea una pagina con il nome dashboard.php e incolla il
codice sottostante.
<?php
require('db.php');
include("auth.php");
?>
<!DOCTYPE
html>
<html>
<head>
<meta charset="utf-8">
<title>Dashboard
- Secured Page</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<div class="form">
<p>Dashboard</p>
<p>This
is another secured page.</p>
<p><a href="index.php">Home</a></p>
<a href="logout.php">Logout</a>
</div>
</body>
</html>
9. Creazione di un logout
Crea una pagina con il nome logout.php e incolla il
seguente codice al suo interno.
<?php
session_start();
// Destroying All Sessions
if(session_destroy())
{
// Redirecting To Home Page
header("Location:
login.php");
}
?>
10. Creazione di un file CSS
Crea una pagina con il nome style.css e incolla il codice
sottostante.
body {
font-family:Arial,
Sans-Serif;
}
.clearfix:before, .clearfix:after{
content: "";
display: table;
}
.clearfix:after{
clear: both;
}
a{
color:#0067ab;
text-decoration:none;
}
a:hover{
text-decoration:underline;
}
.form{
width: 300px;
margin: 0 auto;
}
input[type='text'], input[type='email'],
input[type='password'] {
width: 200px;
border-radius:
2px;
border: 1px solid #CCC;
padding: 10px;
color: #333;
font-size: 14px;
margin-top: 10px;
}
input[type='submit']{
padding: 10px 25px 8px;
color: #fff;
background-color:
#0067ab;
text-shadow: rgba(0,0,0,0.24)
0 1px 0;
font-size: 16px;
box-shadow: rgba(255,255,255,0.24) 0 2px 0 0 inset,#fff
0 1px 0 0;
border: 1px solid #0164a5;
border-radius:
2px;
margin-top: 10px;
cursor:pointer;
}
input[type='submit']:hover {
background-color:
#024978;
}
Nota: in questo
tutorial il file CSS viene inserito nella cartella css/style.css. Quindi
assicurati di aver inserito anche il file CSS nella stessa cartella css.
Commenti
Posta un commento