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.miosito.com');
}
//l'utente non è loggato
else {
//il modulo non è stato ancora inviato
if(isset($HTTP_POST_VARS['submit']))
{
//controlla dati relativi all'username
if(!$_POST['username']) die('Attenzione : il campo username è vuoto');
//array di caratteri non ammessi
$bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
'*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
'|', '{', '}', '<', '>', '?', ':', '"', '=');
//controlla lunghezza username
$len = strlen($_POST['username']);
//sostituisce caratteri non ammessi
$_POST['username'] = str_replace($bad, '', $_POST['username']);
$dato = $_POST['username'];
//se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
if(strlen($dato) != $len) {
die('Hai usato dei caratteri non validi nel campo username. Puoi usare solo lettere, numeri e il trattino basso _ !!');
}
//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` (username, user_password, user_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
$yoursite = 'Il tuo sito';
$webmaster = 'Il tuo nickname';
$youremail = 'La tua mail';
// Fine modifica
//Passa i dati per il login a variabili da mandare via mail all'utente
$_POST['username'] = $nome_utente;
$_POST['password'] = $tua_password;
// Edita l'oggetto e il messaggio
$subject = "Ti sei registrato con successo su $yoursite...";
$message = "Gentile $username, da adesso sei un utente registrato su $yoursite.
Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
Username: $nome_utente
Password: $tua_password
Conserva queste informazioni o meglio ancora stampa questa mail.
Grazie infinite,
$webmaster";
// Spedisce la mail
mail($_POST['email'], $subject, $message, "From: $yoursite <$youremail>\nX-Mailer:PHP/" . phpversion());
echo('Registrazione avvenuta, Benvenuto !!!<br />
Le informazioni che ci hai fornito ti sono state spedite via mail.<br><a href="http://botgratis.altervista.org/utente/login.php">Clicca qui per
tornare al login</a>');
}
//il modulo non è stato ancora compilato
else {
?>
<table>
<form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
<tr>
<td width="285">Username: <br />
(sono permessi solo lettere e numeri)<br /></td>
<td width="180"><input type="text" id ="username" name="username" value="" maxlength="30" />
<br /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" id="password" name="password" value="" maxlength="30" />
<br />
(minimo 6
caratteri)</td>
</tr>
<tr>
<td>Verifica Password:</td>
<td><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" />
<br />
</td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" id="email" name="email" value="" size="30" />
<br /></td>
</tr>
<tr>
<td>Invia il modulo per completare la registrazione</td>
<td><input type="submit" id="submit" name="submit" value="Invia" /></td>
</tr>
</form>
</table>
<?
} //fine utente non loggato
} //fine modulo non inviato
?>