Codice PHP:
<?
//include header.php
include('../site/header.php');
//collegamento dal database
require_once('../site/config.php');
//controlla se l'utente è già loggato
if($_SESSION['logged_in'] == 1)
{
//reindirizzamento alla home page : edita il parametro con il tuo indirizzo
header('Location: http://www.zomer.altervista.org/home.php
}
//l'utente non è loggato
else {
//il modulo non è stato ancora inviato
if(isset($HTTP_POST_VARS['submit']))
{
//controlla dati relativi al nome
if(empty($_POST['nome']))
{
die('Attenzione : il campo nome è vuoto');
}
//array di caratteri non ammessi
$bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
'*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
'|', '{', '}', '<', '>', '?', ':', '"', '=', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
//controlla lunghezza nome
$len = strlen($_POST['nome']);
//sostituisce caratteri non ammessi
$_POST['nome'] = str_replace($bad, '', $_POST['nome']);
$dato = $_POST['nome'];
//se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
if(strlen($dato) != $len)
{
die('Hai usato dei caratteri non validi nel campo nome!');
}
//controlla dati relativi al Cognome
if(empty($_POST['cognome']))
{
die('Attenzione : il campo cognome è vuoto');
}
//controlla lunghezza cognome
$len = strlen($_POST['cognome']);
//sostituisce caratteri non ammessi
$_POST['cognome'] = str_replace($bad, '', $_POST['cognome']);
$dato = $_POST['cognome'];
//se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
if(strlen($dato) != $len)
{
die('Hai usato dei caratteri non validi nel campo cognome!');
}
//controlla dati relativi al sesso
if(empty($_POST['sesso']))
{
die('Attenzione : il campo sesso è vuoto');
}
//controlla dati relativi all'username
if(!$_POST['username']) die('Attenzione : il campo username è vuoto');
//Controlla se l'username è già utlizzato nel database...
$q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
$q3 = mysql_fetch_object($q2);
if($q3->username == $_POST['username']) {
die('Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br /><br />
Per favore ne scelga un altro.');
}
//controlla dati relativi alla password
if(!$_POST['password']) {
die('Errore: Il campo password risulta non compilato');
}
if(!$_POST['verify_password']) {
die('Errore: Il campo verfica password risulta non compilato');
}
if($_POST['password'] != $_POST['verify_password']) {
die('Errore: Le passwords non corrispondono.');
}
//Inserisce il nuovo membro nel database
$insert ="INSERT INTO `utenti` (nome, cognome, username, password, email) VALUES ('".$_POST['username']."',
'".md5($_POST['password'])."', '".$_POST['email']."')";
$insert2 = mysql_query($insert);
if(!$insert2) die(mysql_error());
//Edita i parametri sottostanti con i dati relativi al tuo sito
$web_site = 'Il nome del sito';
$webmaster = 'Nickname webmaster';
$web_mail = 'Indirizzo mail del sito';
// Fine modifica
//Passa i dati per il login a variabili da mandare via mail all'utente
$nome_utente = $_POST['username'];
$pass_utente = $_POST['password'];
$mail_utente = $_POST['email'];
$header = "From: ". $web_site . " <" . $web_mail . ">\r\n";
// Edita l'oggetto e il messaggio
$subject = "Dettagli registrazione";
$message = "Gentile $nome_utente, da adesso sei un utente registrato su $web_site.
Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
Username: $nome_utente
Password: $pass_utente
Conserva queste informazioni o meglio ancora stampa questa mail.
Grazie infinite,
$webmaster";
// Spedisce la mail
mail($mail_utente, $subject, $message, $header);
echo('Registrazione avvenuta, Benvenuto !!!<br />
Le informazioni che ci hai fornito ti sono state spedite via mail.');
}
//il modulo non è stato ancora compilato
else {
?>
<form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
<fieldset>
<legend>Compila il modulo per registrarti sul nostro sito</legend>
<dl>
<dt>
<label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
</dt>
<dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
</dl>
<dl>
<dt>
<label for="cpgnome">Cognome : <br /></label>
</dt>
<dd><input type="text" id ="cognome" name="cognome" value="" maxlength="37" /></dd>
</dl>
<dl>
<dt>
<label for="sesso">Sesso : <br /></label>
</dt>
<dd><select name="sesso">
<option>Maschio</option>
<option>Femmina</option>
<option>Altro</option>
</select>
</dd>
</dl>
<dl>
<dt>
<label for="username">Username : <br /> (sono permessi solo lettere e numeri)</label>
</dt>
<dd><input type="text" id ="username" name="username" value="" maxlength="30" /></dd>
</dl>
<dl>
<dt>
<label for="password">Password : <br />(minimo 6 caratteri)</label>
</dt>
<dd><input type="password" id="password" name="password" value="" maxlength="30" /></dd>
</dl>
<dl>
<dt>
<label for="verify_password">Verifica Password : </label>
</dt>
<dd><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" /></dd>
</dl>
<dl>
<dt>
<label for="email">Email : </label>
</dt>
<dd><input type="text" id="email" name="email" value="" size="30" />
</dd>
</dl>
<dl>
<dt>
<label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
</dt>
<dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
</dl>
<dl>
<dt>
<label for="condizionei">Termini e condizioni d'uso : <br /></label>
</dt>
<dd><input type="checkbox"></dd>
</dl>
<dl>
<dt>
<label for="privacy">Info sulla tua privacy : <br /></label>
</dt>
<dd><input type="checkbox"></dd>
</dl>
</fieldset>
<fieldset>
<input type="submit" id="submit" name="submit" value="Invia" />
</fieldset>
</form>
<?
} //fine utente non loggato
} //fine modulo non inviato
?>