Registrazione utenti con Php e MySql
Creare
dei form di login e di registrazione. (Utilizzo del
database)
Andare su Altervista e creare una cartella "prova"
Creare la tabella users nel database dove volete gestire l'area riservata
Trasferire dopo averli creati i 5 file.php nella cartella prova:
login.php
registration.php
db_con.php
index.php
prova.php // è semplicemente un file di prova in cui visualizzeremo il messaggio “login effettuato con successo”.
In login .php andrà inserita la pagina che conterrà tutti i file inerenti il relativo processo, nel registration.php tutti quelli inerenti la registrazione, in db_con.php i parametri di connessione al database che, per questa volta, vi passerò semplicemente io, non essendo il tutorial incentrato su questo. 😉
Andare su Altervista e creare una cartella "prova"
Creare la tabella users nel database dove volete gestire l'area riservata
Trasferire dopo averli creati i 5 file.php nella cartella prova:
login.php
registration.php
db_con.php
index.php
prova.php // è semplicemente un file di prova in cui visualizzeremo il messaggio “login effettuato con successo”.
In login .php andrà inserita la pagina che conterrà tutti i file inerenti il relativo processo, nel registration.php tutti quelli inerenti la registrazione, in db_con.php i parametri di connessione al database che, per questa volta, vi passerò semplicemente io, non essendo il tutorial incentrato su questo. 😉
Passiamo alla stesura del db_con.php:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
//connessione al nostro database
$connessione_al_server=mysql_connect("localhost","root","root"); //
ip locale, login e password
if(!$connessione_al_server){
die
('Non
riesco a connettermi: errore '.mysql_error());
// questo apparirà solo se ci sarà
un errore
}
$db_selected=mysql_select_db("nome
del database",$connessione_al_server);
// dove io ho scritto "prova"
andrà inserito il nome del db
if(!$db_selected){
die
('Errore
nella selezione del database: errore '.mysql_error());
// se la connessione non andrà a
buon fine apparirà questo messaggio
}
?>
|
Se state utilizzando Altervista oppure un serverlocale cone Easyphp o Xampp la password dovrà rimanere vuota altrimenti, con Mamp(mac) dovrà essere come per il nick, cioè “root”.
Creiamo una tabella di nome “users”, contenente solamente 4 campi (faremo una registrazione molto semplice):
Campo “id” [ INT, auto_incement, primary ]
Campo “username” [VARCHAR, 255]
Campo “password” [VARCHAR, 255]
Campo “email” [VARCHAR, 255]
INT e VARCHAR saranno tipologie di campi e 255, dove presente, sarà l’ eventuale lunghezza massima del campo.
Creare il file registration.php con il seguente codice.
Codice da inserire nel registration.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
session_start();
// dive essere la prima cosa nella
pagina, aprire la sessione
include("db_con.php");
// includo il file di connessione
al database
if($_POST["username_reg"]
!= ""
&& $_POST["password_reg"]!=
""
&& $_POST["email_reg"]
!= ""){ //
se i parametri iscritto non sono vuoti non sono vuote
$query_registrazione
= mysql_query("INSERT
INTO users (username,password,email)
VALUES
('".$_POST["username_reg"]."','".$_POST["password_reg"]."','".$_POST["email_reg"]."')")
// scrivo sul DB questi valori
or
die
("query
di registrazione non riuscita".mysql_error());
// se la query fallisce mostrami
questo errore
}else{
header('location:index.php?action=registration&errore=Non
hai compilato tutti i campi obbligatori');
// se le prime condizioni non vanno
bene entra in questo ramo else
}
if(isset($query_registrazione)){
//se la reg è andata a buon fine
$_SESSION["logged"]=true;
//restituisci vero alla chiave
logged in SESSION
header("location:index.php");
}else{
echo
"non ti sei registrato con
successo";
// altrimenti esce scritta a video
questa stringa
}
?>
|
Questo
file di registrazione utilizza un “INSERT mysql” per inserire nel
database i dati che gli son stati passati dal form di registrazione
(username_reg, password_reg, email_reg), dati che adesso andremo a
vedere e ad inserire nell’ index.php..
Codice da inserire nell’ index.php:
Codice da inserire nell’ index.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php
session_start();//
come sempre prima cosa, aprire la sessione
include("db_con.php");
// includere la connessione al
database
?>
<html>
<head>
<meta
charset="utf-8">
<link
rel="stylesheet"
type="text/css"
href="style.css">
</head>
<body>
<h2>Registrazione</h2>
<form
name="form_registration"
method="post"
action="registration.php">
<br/>
<p>Username:
<input type="text"
name="username_reg"></p>
<br/>
<p>Password:
<input type="password"
name="password_reg"></p>
<br/>
<p>Email:
<input type="text"
name="email_reg"
></p>
<br/>
<button>Registrati</button>
</form>
<h2>Log
in</h2>
<form
name="form_login"
method="post"
action="login.php">
<p>Username</p><input
type="text"
name="username"
></p>
<p>Password
<input name="password"></p>
<button>Accedi</button>
</form>
<body>
</html>
|
In
questa pagina non farete altro che creare due form in html, quello
di registrazione contenente tre campi, “username_reg”,
“password_reg”, ed “email_reg” (campi collegati alla pagina
registration.php attraversio l’ attributo “action”) , e quello
di login, che avrà solamente due campi, quello “username” e
quello “password”.
Creiamo adesso la pagina, come per la registrazione, collegata al rispettivo form di login, login.php! Apritela e incollateci dentro il seguente codice.
Codice da inserire nel login.php:
Creiamo adesso la pagina, come per la registrazione, collegata al rispettivo form di login, login.php! Apritela e incollateci dentro il seguente codice.
Codice da inserire nel login.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
session_start();//
come sempre prima cosa, aprire la sessione
include("db_con.php");
// Include il file di connessione
al database
$_SESSION["username"]=$_POST["username"];
// con questo associo il parametro
username che mi è stato passato dal form alla variabile SESSION
username
$_SESSION["password"]=$_POST["password"];
// con questo associo il parametro
username che mi è stato passato dal form alla variabile SESSION
password
$query
= mysql_query("SELECT
* FROM users WHERE username='".$_POST["username"]."'
AND password ='".$_POST["password"]."'") //per
selezionare nel db l'utente e pw che abbiamo appena scritto nel
log
or
DIE('query
non riuscita'.mysql_error());
//
Con il SELECT qua sopra selezione dalla tabella users l utente
registrato (se lo è) con i parametri che mi ha passato il form
di login, quindi
//
Quelli dentro la variabile POST. username e password.
if(mysql_num_rows($query)>0){ //se
c'è una persona con quel nome nel db allora loggati
$row
= mysql_fetch_assoc($query);
// metto i risultati dentro una
variabile di nome $row
$_SESSION["logged"]
=true; //
Nella variabile SESSION associo TRUE al valore logge
header("location:prova.php");
// e mando per esempio ad una
pagina esempio.php// in questo caso rimanderò ad una pagina
prova.php
}else{
echo
"non ti sei registrato con
successo";
// altrimenti esce scritta a video
questa stringa di errore
}
?>
|
Assegnare alla sessione i parametri passati dal form di login,
Definire la “SELECT mysql” per selezionare e cercare nella tabella “users” del database l'utente selezionato. Se tutto funziona correttamente il login avrà successo, altrimenti, si visualizzerà a schermo un messaggio di errore.
Codice da inserire nel prova.php:
1
|
<?php
echo
"Ti sei loggato con
successo";?>
|
link
originale:
https://www.webhouseit.com/realizzare-una-registrazione-e-un-login-in-php/
Commenti
Posta un commento