PHP e MySQL: esempio Login

February 3, 2018 | Author: Cinzia Bocchi | Category: Php, Login, Databases, Html, User (Computing)
Share Embed Donate


Short Description

Un esempio di login con accesso a database MySQL. La dispensa in origine conteneva informazioni sui metodi HTTP e su...

Description

PHP e MySQL: funzionalità Login In questa dispensa viene fornito un esempio per realizzare la funzionalità di login a un sito. Le tecnologie impiegate sono HTML, PHP e MySQL. Saranno descritti in dettaglio i passaggi per accedere al database.

Login : creazione del form HTML Il form che consente ad un utente di effettuare il login comprende solitamente i seguenti controlli:  un campo testo per inserire lo username;  un campo password per inserire la password;  un link da utilizzare nel caso in cui si sia dimenticata la password;  un link da utilizzare per effettuare la registrazione;  una casella di controllo da utilizzare se si desidera essere identificati ogni volta che si torna a visitare il sito;  un pulsante per sottomettere i dati. Naturalmente, ogni controllo deve essere accompagnato da una etichetta esplicativa. Per il momento, limitiamoci a considerare i campi di testo, di password e il pulsante per l’invio della richiesta e andiamo a creare il form, senza preoccuparci della grafica. login.html

Esempio Login Username Password

Quando l’utente fa clic sul pulsante “Login”, lo username e la password vengono inviati al server per l’elaborazione. Lo script PHP che si occupa dell’autenticazione dell’utente deve:  ottenere username e password;  accedere al database e verificare se username e password esistono e a quale utente corrispondono; 1 Bocchi Cinzia Ultimo aggiornamento: 25/11/2012



inviare la risposta al client; la risposta sarà positiva se l’utente è stato riconosciuto, negativa altrimenti.

Dopo aver deciso quale metodo HTTP utilizzare 1, torniamo al form e inseriamo il metodo nell’attributo method. Naturalmente non è consigliabile utilizzare get per l’invio di password, quindi opteremo per post. login.html

Esempio Login Username Password

Login : creazione dello script PHP Lo script PHP (login.php) dovrà effettuare le seguenti operazioni. login.php





Recupero dei dati inviati

I dati inviati mediante il form vengono memorizzati nell’array $_POST $_POST username inserito password inserita username password Assegniamo tali valori a due variabili locali: $uid = $_POST[“username”] $pwd = $_POST[“password”] Vediamo come si modifica il codice di login.html e login.php. 1

Vedere http://www.scribd.com/doc/24193963/Passaggio-di-Parametri-al-Server

2 Bocchi Cinzia Ultimo aggiornamento: 25/11/2012

login.html

Esempio Login Username Password login.php





Connessione al database

I comandi PHP necessari per connettersi al database ed eseguire interrogazioni sulle tabelle sono i seguenti: 

CONNESSIONE AL SERVER

$conn = mysql_connect(“localhost”, “root”, “password”) or die(“impossibile connettersi al server”); 

SELEZIONE DEL DATABASE

$db = mysql_select_db(“nomedb”, $conn) or die(“impossibile selezionare il database”); Vediamo lo script PHP modificato, supponendo che:  l’host sia localhost,  lo username sia root,  non sia richiesta password,  il nome del database sia db.

3 Bocchi Cinzia Ultimo aggiornamento: 25/11/2012

login.php





Verifica dell’esistenza dell’utente

Arrivati a questo punto, dobbiamo preparare ed eseguire la query che verifica se l’utente è registrato. Il recordset risultante deve poi essere esaminato per valutare i risultati ottenuti. Esso conterrà il record dell’utente che ha effettuato il login o nessun record, a seconda che l’utente sia o meno registrato. I passi necessari per verificare l’esistenza dell’utente sono i seguenti: 

PREPARAZIONE DELLA QUERY

$query = “.............”; 

ESECUZIONE DELLA QUERY

$result = mysql_query($query) or die(“query fallita: “.mysql_error()); 

ESTRAZIONE DEI RECORD DAL RECORD SET

while ($row = mysql_fetch_array($result)) { ............. } Per accedere a un campo del record estratto si utilizza la sintassi: $row [‘nome_campo’] Supponiamo che nel database esista una tabella utente come la seguente: utente idUtente username password 1 uid1 pwd1 2 uid2 pwd2 3 uid3 pwd3 La query in questione deve cercare nella tabella utente un record il cui username coincide con $uid e la password con $pwd: 4 Bocchi Cinzia Ultimo aggiornamento: 25/11/2012

SELECT username, password FROM utente WHERE username = ‘$uid’ AND password = ‘$pwd’; Osservate che le variabili PHP devono essere racchiuse tra apici. Vediamo lo script PHP modificato: login.php

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF