Codice PHP:
else {
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("select * from authlib_confirm where mdhash = '$hash' AND username = '$username'");
$result = mysql_num_rows($query);
if ($result < 1) {
mysql_close();
return $this->error[15];
}
list($hd,$username,$password,$name,$email,$citta,$professione,$telefono) = mysql_fetch_row($query);
$is_success_first = mysql_query("insert into authlib_login (username, password) values ('$username', '$password')");
if ($is_success_first) {
$is_success_second = mysql_query("insert into authlib_data (name, email, citta, professione, telefono) values ('$name', '$email', '$citta', '$professione', '$telefono')");
if ($is_success_second) {
$is_success_third = mysql_query("delete from authlib_confirm where username = '$username'");
}
}
mysql_close();
if (!$is_success_first) {
return $this->error[16];
}
if (!$is_success_second) {
@mail($email, "Errore in Member Area", "Attenzione, $name, non e' stato possibile inserire i dati al data base \n
a causa di un errore interno o di inserimento dati. Accedi al tuo account per rimuoverlo e \n
ripeti la registrazione.", "From: Lo staff Hai voglia di scrivere");
return $this->error[17];
}
if (!$is_success_third) {
@mail($this->webmaster, "Attenzione!!!", "Controlla i tuoi dati $name, c'e' stato un problema di inserimento
dei dati, ricontrolla ed eventualmente riprova l'operazione.", "From: Lo staff Hai voglia di scrivere");
return 2;
}
@mail($email, "Conferma Registrazione", "Grazie, $name per esserti registrato a nohow82.altervista.org.\n Questi sono i tuoi dati:\n
Name: $name
Email: $email
Città: $citta
Professione: $professione
Telefono: $telefono
Username: $username
Password: $password\n
Grazie per esserti registrato.\n
Assistenza Utenti Hai voglia di scrivere", "From: Lo staff Hai voglia di scrivere");
return 2;
}
}
function conf_flush () {
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("delete from authlib_confirm where date_add(date, interval 2 day) < now()");
mysql_close();
if (!$query) {
return $this->error[18];
}
return 2;
}
function lostpwd ($email) {
if (!$email) {
return $this->error[14];
}
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("select authlib_login.password, authlib_login.username from authlib_login, authlib_data where authlib_data.email = '$email' and authlib_login.id = authlib_data.id");
$result = mysql_num_rows($query);
mysql_close();
if ($result < 1) {
return $this->error[19];
}
list($password, $username) = mysql_fetch_row($query);
@mail($email, "Recupero dati member Hai voglia di scrivere", "Gentile $name,\nquesti sono i tuoi dati di accesso:\n
\nUsername: $username
\nPassword: $password
\n Conserva questi dati in un posto sicuro per una prossima consultazione\n
Cordialmente\n
Assistenza Utenti hai voglia di scrivere", "From: Lo staff Hai voglia di scrivere");
return 2;
}
function chemail ($id, $email, $email2) {
if (!eregi("^([a-z0-9]+)([._-]([a-z0-9]+))*[@]([a-z0-9]+)([._-]([a-z0-9]+))*[.]([a-z0-9]){2}([a-z0-9])?$", $email)) {
return $this->error[4];
}
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("select id from authlib_data where email = '$email'");
$result = mysql_num_rows($query);
if ($result > 0) {
list($id_from_db) = mysql_fetch_row($query);
if ($id_from_db != $id) {
mysql_close();
return $this->error[13];
}
return $this->error[23];
}
$mdhash = md5($id.$email.$this->secret);
$query = mysql_query("insert into authlib_confirm_email values ('$id', '$email', '$mdhash', now())");
if (!$query) {
mysql_close();
$this->error[20];
}
@mail($email, "Member Area, Cambio email", "Gentile Member, hai richiesto il cambio dell'email nel database.
Stiamo accertando la validita' della email\n
clicca qui per la conferma: http://nohow82.altervista.org/confirm_email.php?mdhash=$mdhash&id=$id&email=$email
\n Grazie!
Assistenza Utenti Hai voglia di scrivere");
return 2;
}
function confirm_email($id, $email, $mdhash) {
if (!$id || !$email || !$mdhash) {
return $this->error[14];
}
else {
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("select * from authlib_confirm_email where id = '$id' AND email = '$email' AND mdhash = '$mdhash'");
$result = mysql_num_rows($query);
if ($result < 1) {
mysql_close();
return $this->error[15];
}
$update = mysql_query("update authlib_data set email = '$email' where id = '$id'");
$delete = mysql_query("delete from authlib_confirm_email where email = '$email'");
mysql_close();
return 2;
}
}
function email_flush () {
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("delete from authlib_confirm_email where date_add(date, interval 2 day) < now()");
mysql_close();
if (!$query) {
return $this->error[18];
}
return 2;
}
function chpass ($id, $password, $password2) {
if ($password != $password2) {
return $this->error[0];
}
else {
if (strlen($password) < 5) {
return $this->error[5];
}
if (strlen($password) > 20) {
return $this->error[6];
}
if (!ereg("^[[:alnum:]_-]+$", $password)) {
return $this->error[7];
}
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("update authlib_login set password = '$password' where id = '$id'");
mysql_close();
if (!$query) {
return $this->error[21];
}
return 2;
}
}
function delete($id) {
mysql_connect($this->db_host, $this->db_user, $this->db_pass);
mysql_select_db($this->db_name);
$query = mysql_query("delete from authlib_login where id = '$id'");
$query = mysql_query("delete from authlib_data where id = '$id'");
mysql_close();
return 2;
}
var $error = array
(
"Le Passwords non sono uguali", //0
"Username non valido. inserisci almeno 3 caratteri.", //1
"Username non valido. inserisci non oltre 11 caratteri.", //2
"Username con caratteri non validi.", //3
"Email non valida.", //4
"Password non valido. inserisci almeno 3 caratteri.", //5
"Password non valido. inserisci non oltre 11 caratteri.", //6
"Password con caratteri non validi.", //7
"Nome con caratteri non validi.", //8
"Telefono con caratteri non validi.", //9
"Citta' con caratteri non validi.", //10
"Professione opzione obligatoria.", //11
"Username gia' esistente nel database.", //12
"Username ed email gia' esistente.", //13
"Alcuni campi sono stati lasciati vuoti.", //14
"Combinazione ID e Username non corretta, o member cancellato.", //15
"Connessione al Database fallita, riprova piu' tardi.", //16
"Le tue info sono state inserite, ma c'e' stato un errore temporaneo, clicca qui <a href=\"index.html\">login</a> e rimuovi il tuo account e ripeti la registrazione.", //17
"La registrazione non e' andata a buon fine, ripetere.", //18
"La username non corrisponde all'email.", //19
"Non e' stata possibile aggiornare i tuoi dati per un errore interno al database.", //20
"Non e' stata possibile aggiornare la tua password per un errore interno al database.", //21
"L'email non esiste.", //22
"L'email che hai inserito e' uguale a quella gia' nel database, non e' stato eseguito alcun aggiornamento." //23
);
var $logout_url = "index.html";
}
$authlib = new authlib;
?>