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

  1. Crea una banca dati
  2. Crea una tabella di database con i seguenti cinque campi:
    id, username, email, password, trn_date
  3. Crea un modulo di registrazione
  4. Crea un modulo di accesso
  5. Connettiti al database utilizzando PHP
  6. Autenticare l'utente connesso
  7. Crea pagina indice
  8. Crea pagina dashboard
  9. Crea un logout
  10. 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>

registrazione-php

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>

login-php

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>

area protetta

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>

pannello di controllo

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.

Clicca qui per scaricare il file compresso

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)