<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>conferma registrazione</title>
</head>
<body>
<?php
include_once 'header.php';
//$testo = testo da verificare, $mi= lunghezza minima del testo, $ma= lunghezza massima
function ver_testo($testo,$mi,$ma){
if(preg_match('/^[A-Za-z0-9]{$mi,$ma}$/', $testo)){
//testo ok
return TRUE;
}else{
return FALSE;
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = trim($_POST['username']);
$password1 = trim($_POST['password1']);
$password2 = trim($_POST['password2']);
$email = trim($_POST['email']);
//metto a vuoto messagggio di errore
$ok_ko="";
if(!ver_testo($username,4,10)){$ok_ko.="username non corretto deve essere lungo da 4 a 10 caratteri <br />";}
if(!ver_testo($password1,6,12)){$ok_ko.="prima password non corretta deve essere composta da minimo 6 massimo 12 caratteri<br />";}
if(!ver_testo($password2,6,12)){$ok_ko.="seconda password non corretta deve essere composta da minimo 6 massimo 12 caratteri<br />";}
if($password1 != $password2){$ok_ko.="le password non coincidono<br />";}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$ok_ko.="Attenzione!, indirizzo email non valido<br />";}
if($ok_ko==""){//se è rimasto vuoto non ci sono errori
$codiceconferma = md5(uniqid(rand()));
$username = mysql_real_escape_string(strtolower(($username)));//conviene salvarlo tutto in minuscolo
//e ti conviene verificare che non ce ne sia un altro uguale
$verificauseremail=mysql_query("SELECT id FROM utenti WHERE username='$username' OR email='$email'");
if(mysql_num_rows($verificauseremail)>0){
//avvisi e torni al form pulito
echo "ATTENZIONE: username o email già esistente, scegline un altro.<br />";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}else{
$username = mysql_real_escape_string($username);
$email = mysql_real_escape_string($email);
$password = mysql_real_escape_string($password1);
$inviautentitemp = "INSERT INTO utenti_temp (codiceconferma, username, password, email) VALUES ('$codiceconferma', '$username', '$password2', '$email')";
if(mysql_query($inviautentitemp)){
//prepari l'email di conferma da inviare
//Includo la classe phpmailer
include_once ('class.phpmailer.php');
//include_once ("class.smtp.php");//no ci pensa la phpmailler a richiamarsela se serve
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->isHtml(true);
//$mail->SMTPDebug = true;
//Dati di collegamento al server che su aruba non servono
$mail->Host = "smtp.fastwebnet.it";
$mail->Port = 25;//questa non dovrebbe servire
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "Puff01974";
// Impostazioni invio mail al cliente
$mail->Setfrom ("[email protected]","Sito"); //Inserire la mail dell'amministratore ed il nome del sito
$mail->AddReplyTo("[email protected]","Amministratore");
$mail->AddAddress ($email); //Mail che riceverà chi si iscrive
$mail->MsgHTML("<html><head></head><body>Questa è una email in <b>Html</b></body></html>");//??? a che ti serve questa??? non hai immagini io la toglierei
$mail->AltBody = "Il tuo client di posta non è settato per la ricezione in HTML";
$mail->Subject = "Conferma di registrazione al sito www.sito.com";
//poi prova a modificare il testo da inviare
$testo="<p>Ecco il tuo codice di attivazione</p><br />";
$testo.="<p>Clicca sul link per confermare la registrazione</p><br />";
$testo.="<a href=\"http://siti/Biblionet%20test%20MySql/register2.php?passkey=$codiceconferma\">Clicca qui</a>";
$mail->Body =$testo;
//oppure prova con un unica stringa
/*
$mail->Body ="<p>Ecco il tuo codice di attivazione</p><br />
<p>Clicca sul link per confermare la registrazione</p><br />
<a href=\"http://siti/Biblionet%20test%20MySql/register2.php?passkey=$codiceconferma\">Clicca qui</a>";
*/
//$mail->Body = "<p>Ecco il tuo codice di attivazione</p><br />";
//$mail->Body .= "<p>Clicca sul link per confermare la registrazione</p><br />";
//$mail->Body .= "<a href=\"http://siti/Biblionet%20test%20MySql/register2.php?passkey=$codiceconferma\">Clicca qui</a>";
if ($mail->Send()){
echo "Tra poco riceverai codice di attivazione per confermare l'iscrizione";
}else{
echo "Si è verificato un errore di trasmissione riprova più tardi";
//e dopo 3 secondi torno automaticamente al form ripulito
//echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
//i secondi di attesa possono essere aumentati o diminuiti
}//chiudo if/else invio
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
} else {
echo "ERRORE di comnnesione, ti preghiamo di riprovare più tardi<br />";
echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
}//chiudo if/else errore sul db
}//chiudo if/else username-email dulicato
}else{//questo manca
//mostro avviso e ritorno
echo $ok_ko;
echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}//chiudo if/else $ok_ko
//poi tutti i echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
//potresti eliminarli e metterne un unico qui
}//chiudo if post
?>
<form method="post" id="formregistrazione" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
<table class="pinco_pallo">
<tr>
<td><label for="username">Username</label></td>
<td><input type="text" name="username" id="username" /></td>
</tr>
<tr>
<td><label for="password1">Password</label></td>
<td><input type="password" name="password1" id="password1" /></td>
</tr>
<tr>
<td><label for="password2">Ripeti Password</label></td>
<td><input type="password" name="password2" id="password2" /></td>
</tr>
<tr>
<td><label for="email">Email</label></td>
<td><input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="invia" id="registrati" value="Registrati" /></td>
</tr>
<tr>
<!--qui ci sta bene un link in modo che l'utente possa uscire senza registrarsi -->
<td> </td><td><a href="index.php">esci</a></td>
</tr>
</table>
</form>
</body>
</html>