Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Registrazione utenti: scrittura del database

Proseguiamo nella creazione della nostra applicazione PHP su Google Cloud Platform analizzando la parte dedicata alla scrittura dei dati nel database MySQL.
Proseguiamo nella creazione della nostra applicazione PHP su Google Cloud Platform analizzando la parte dedicata alla scrittura dei dati nel database MySQL.
Link copiato negli appunti

Il codice della funzione scrivi() sarà abbastanza semplice, avremo la connessione al database, la lettura delle variabili passate dal form, l'inserimento dei dati via PDO e un controllo sui campi obbligatori.

function scrivi(){
    $db = connect();
    $nome = $_REQUEST['nome'];
    $cognome = $_REQUEST['cognome'];
    $email = $_REQUEST['email'];
    $password = password_hash($_REQUEST['password'], PASSWORD_BCRYPT);
    if ($nome && $cognome && $email && $password) {
        $sql='INSERT INTO utenti (nome, cognome, email, password) VALUES (:nome, :cognome, :email, :password)';
        $stmt = $db->prepare($sql);
        $stmt->execute([':nome' => $nome,':cognome' => $cognome,':email' => $email,':password' => $password]);
    }
    else{
      $str=form();
      return $str;
    }
}

Un particolare da notare riguarda la crittografia della password, nell'ambiente di sviluppo standard di Google Cloud Platform disponiamo infatti di PHP 5.5, quindi non possiamo usare le nuove funzionalità dedicate di PHP 7.

A registrazione avvenuta possiamo dirottare l'utente sulla pagina di partenza grazie alla funzione header():

header('location: /');

Un approfondimento utile è costituito dall'opportunità di inviare un'email che confermi l'avvenuta registrazione, e, magari, possa essere sviluppata in scenari di conferma dell'iscrizione. L'invio dell'email può essere effettuato grazie all'uso dell'API Message messa a disposizione dalla piattaforma, ovviamente previa inclusione:

use \google\appengine\api\mail\Message;

A questo punto, una volta avvenuto l'inserimento nel database possiamo passare all'invio dell'email. Come prima cosa creiamo l'oggetto:

$mail = new Message();

Aggiungiamo quindi il destinatario che recuperiamo dal form:

$mail->addTo([$email]);

e poi il mittente. In questo scenario abbiamo delle limitazioni che ci impongono di usare il dominio @test-guida-htmlit.appspotmail.com che corrisponde alla nostra applicazione.

$mail->setSender('info@test-guida-htmlit.appspotmail.com');

Andiamo a inserire oggetto e corpo del messaggio:

$mail->setSubject('Registrazione avvenuta');
$mail->setTextBody('La registrazione è avvenuta con successo.');

Quindi possiamo procedere con l'invio:

$mail->send();

La registrazione è completa e viene notificata via email.

Ti consigliamo anche