Conferma della registrazione tramite mail
Come descritto nel titolo ho un problema quando vado ad eseguire l'attivazione dell'account di un utente tramite l'uso di un link inviato alla mail.
La pagina registrazione, dopo aver raccolto i dati del form, inserisce i dati nel database. Fatto ciò invia all'utente una mail per confermare la registrazione.
Il link inviato alla mail riporta alla pagina action.php?act=conferma che ha in input il codice utente, necessario per ritrovare l'account da attivare.
Il problema è questo: la pagina action.php?act=conferma=cod=$codiceUtente si apre ma non aggiorna lo stato, lasciandolo a 0 cioè inattivo.
Questi sono i codici PHP che uso nelle pagine:
registrazione.php
Codice PHP:
include 'connect.php';
if(@$_POST["invio"])
{
$codUtente = md5($_POST["email"]);
$codPassword = md5($_POST["password"]);
$query = "INSERT INTO `utenti` SET `username`='".@$_POST["username"]."', `codUtente`='".$codUtente."', `password`='".$codPassword."', `email`='".@$_POST["email"]."';";
$result = mysql_query($query);
$sub = "Oggetto del messaggio";
$sito = "http://www.miosito.altervista.org";
$msg = "
Buongiorno ".$_POST["username"].",\n
questa e-mail ti giunge dall'area riservata del sito ".$sub.".\n
Di seguito trovi l'url per procedere all'attivazione del tuo account.\n
Dati di accesso\n
Username: ".$_POST["username"].",\n
Password: ".$_POST["password"].",\n\n
Url di conferma: ".$sito."/action.php?act=conferma=cod=".$codUtente."\n\n
In caso di problemi ti inviatiamo a contattarci direttamente.
";
mail($_POST["email"], $sub, $msg);
header('Location: index.php?act=RegistrazioneOn');
}
action.php
Codice PHP:
else if(@$_GET["act"] == "conferma")
{
$query = "UPDATE `utenti` SET `stato` = '1' WHERE `codUtente`='".@$_POST["cod"].";";
$result = mysql_query($query) or die('Errore nello svolgimento della query di attivazione');
header('Location: index.php');
}