salve ragazzi come da titolo, ho bisogno di implementare la famosa e-mail di conferma dopo la registrazione di un utente... possiedo già uno script php , non mio , che permette la registrazione di un utente e il login... non prevede però un e-mail di conferma, quindi chiunque può registrarsi , inserendo un indirizzo e-mail qualsiasi , inesistente, quindi ho pensato all e-mail di conferma, ma non essendo un campione con il php, chiedo aiuto a voi, spero qualcuno possa guidarmi passo per passo nella risoluzione del mio problema..
inanzitutto questo è il database:
codice:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(100) NOT NULL,
`pass` varchar(50) NOT NULL,
`email` varchar(255) NOT NULL,
`data_reg` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
qui le funzioni che si occupano della registrazione e del login ( non metto tutti i controlli etc se no ci vorrebbero altri 2 post solo per il codice):
registrazione:
codice:
/*****************************
ESECUZIONE DELLA REGISTRAZIONE
******************************/
public function esegui_registrazione(){
// se il form e i suoi input sono stati inviati
if(isset($_POST['register']) AND
isset($_POST['username']) AND
isset($_POST['email']) AND
isset($_POST['pass1']) AND
isset($_POST['pass2'])){
//valorizziamo alcune variabili
$this->reg_username = trim($_POST['username']);
$this->reg_email = trim($_POST['email']);
$this->reg_pass = trim($_POST['pass1']);
$this->reg_confirm_pass = trim($_POST['pass2']);
// criptiamo la password
$this->reg_crypt_pass = $this->crypt_pass($this->reg_pass);
// eseguiamo la validazione degli input
$valid_input = $this->check_input_registrazione();
// se sono validi
if($valid_input===TRUE){
// inseriemo all'interno del database i dati
$this->query_insert_registrazione();
// settiamo il messaggio di successo della registrazione
$this->message_script = 10;
return TRUE;
}
}
return FALSE;
}
// esecuzione della query insert di registrazione
protected function query_insert_registrazione(){
$query = "
INSERT INTO users
SET
username='".mysql_real_escape_string($this->reg_username)."',
pass='".mysql_real_escape_string($this->reg_crypt_pass)."',
email='".mysql_real_escape_string($this->reg_email)."',
data_reg= NOW()";
$result = mysql_query($query) or die(mysql_error());
return mysql_insert_id();
}
login:
codice:
/*******************
ESECUZIONE DEL LOGIN
********************/
public function esegui_login(){
// se il form di login e i sui tutti input sono stati inviati
if(isset($_POST['login']) AND isset($_POST['username']) AND isset($_POST['pass'])){
// valorizziamo delle variabili
$this->login_username = trim($_POST['username']);
$this->login_password = trim($_POST['pass']);
// criptiamo la password
$this->login_cryptpass = $this->crypt_pass($this->login_password);
// validiamo i dati (non devono essere vuoti)
$not_empty_input = $this->check_input_login();
// se la validazione è andata a buon fine
if($not_empty_input===TRUE){
// eseguiamo la query e verifichiamo se individua le credenziali
if($this->query_select_login()==TRUE){
// settiamo lo status di utente loggato
$this->set_logged($this->login_iduser);
// settiamo l'username
$this->set_username($this->login_username);
// settiamo il messaggio di successo del login
$this->message_script = 12;
return TRUE;
}
// se la query non ha trovat utenti con quelle credenziali
else{
// settiamo un messaggio di insuccesso dell'operazone
$this->message_script = 11;
}
}
}
return FALSE;
}
// esecuzione della qeury per verificare il login
protected function query_select_login(){
$query = "
SELECT id FROM users
WHERE
username='".mysql_real_escape_string($this->login_username)."' AND
pass='".mysql_real_escape_string($this->login_cryptpass)."'";
$result = mysql_query($query) or die(mysql_error());
// se individua l'utente
if(mysql_num_rows($result)==1){
$row = mysql_fetch_array($result);
$this->login_iduser = $row['id'];
return TRUE;
}
return FALSE;
}