Creiamo un modulo di registrazione utenti

Da anni un problema che affligge quasi tutti gli internauti neofiti del web, è quello di creare un modulo di registrazione per gli utenti. In realtà creare un modulo è molto semplice e con questo tutorial vi darò la possibilità di crearne uno.
Uno dei caratteri fondamentali del modulo di registrazione è quello che ogni utente deve avere un dato univoco, che lo distingue da un qualsiasi altro utente. In questo caso noi prenderemo la mail come esempio ma volendo potrebbe essere anche il nickname .
Potrebbero essere anche due i dati univoci per la registrazione ( dopo aver preso un po’ di pratica con il lo script potete tranquillamente modificare lo script a modo vostro
).
Per iniziare creiamo la nostra tabella tabella_registrati
1 2 3 4 5 6 7 | CREATE TABLE `tabella_registrati` ( `id` INT( 40 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `nick` VARCHAR( 255 ) NOT NULL , `nome` VARCHAR( 255 ) NOT NULL , `mail` VARCHAR( 255 ) NOT NULL , `pass` VARCHAR( 255 ) NOT NULL ) ENGINE = MYISAM |
Ora siamo pronti per cominciare con il nostro modulo di iscrizione , che sarà la pagina fulcro di tutto lo script, infatti da essa verranno inviati ed elaborati tutti i dati.
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | <html> <head> <title>Modulo di Registrazione</title> </head> <body> <form action='form.php?reg=1' method='POST'> <b>Nome</b><br> <input type='text' name='nome'><br> <b>Mail</b><br> <input type='text' name='mail'><br> <b>Nickname</b><br> <input type='text' name='nick'><br> <b>Password</b><br> <input type='password' name='pass1'><br> <b>Ripeti Password</b><br> <input type='password' name='pass2'><br> <input type='submit' value='Registrati'><br> </form> <? // connettiamoci il nostro database $db_host = "localhost"; $db_user = "root"; $db_password = "pass"; $db_name = "my_db"; //connetto il database $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione'); mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db'); // recuperiamo il get per evitare di ricevere subito i messaggi dei vari if sotto $reg = $_GET['reg']; if ( $reg == 1 ) { // recuperiao tutti i dati inviati via post $nome = $_POST['nome']; $mail = $_POST['mail']; $nick = $_POST['nick']; $pass1 = $_POST['pass1']; $pass2 = $_POST['pass2']; // vediamo se tutti i campi sono stati compilati if ( $nome == TRUE && $mail == TRUE && $nick == TRUE && $pass1 == TRUE && $pass2 == TRUE ) { // controlliamo se il campo mail è stato scritto in maniera errata $email = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail); if($email == TRUE ) { // controlliamo se l'e-mail è già inserita all'interno del db $query = "SELECT mail FROM tabella_registrati WHERE mail = '$mail'"; $risultato = mysql_query($query) or die (mysql_error()); $risp = mysql_fetch_assoc($risultato); if ( $risp == FALSE ) { // ora controlliamo che pass1 e pass2 sono uguali if ( $pass1 == $pass2 ) { // criptiamo la password per sicurezza $pass_md5 = md5($pass1); // e infine registriamo l'utente mysql_query("INSERT INTO tabella_registrati (id , nick , nome , pass , mail ) VALUES ('','$nick', '$nome', '$pass_md5', '$mail' )") OR DIE(mysql_error()); // inviamo una mail per comunicare all'utente che si è appena registrato $nostro_recapito = "mail@miamail.it"; $oggetto = "Iscrizione al nostro sito"; $testo = " Complimenti ti sei appena iscritto al nostro sito.\n Questa è il tuo nickname : $nick \n Questa è la tua password : $pass1 \n "; mail ("$nostro_recapito", "$oggetto", "$testo", "From: $nostro_recapito"); echo "Complimenti registrazione effettuata con successo."; } else { echo "Le due Password inserite non sono uguali"; } } else { echo "Mail già utilizzata"; } }else{ echo "Devi inserire un indirizzo di Mail Valido"; } } else { echo "Tutti i campi sono obbligatori"; } } ?> </body> </html> |
Il codice è abbastanza commentato però posso dirvi su per giù cosa fa questo script.
Controlla se i dati sono stati inseriti
Ne controlla la validità
Inserisce l’utente all’interno del database
E infine invia una mail di congratulazioni con l’utente per la riuscita registrazione
Il codice come al solito può essere implementato in tante piccole optional, io ve ne espongo qualcuno poi sta a voi cimentarvi
:
Potreste inserire un modulo CAPTCHA per evitare l’iscrizione di bot
Potreste controllare se il nome e la password sono inferiori a un tot di caratteri
Potreste aggiungere campi per la approfondire sulla persona che si iscrive
Potreste inserire una checkbox per far accettare le varie normative sulla privacy
Ora sta a voi implementare lo script.
Come al solito vi invito a contattarmi attraverso i commenti nel caso avreste bisogno di un aiuto o nel caso mi vorreste inviare una critica e/o suggerimenti.
Grazie mille , e alla prossima.
Ciao.
Potresti trovare interessante anche





2 aprile 2010

ma il primo passaggio va fatto all’interno del database?