mandi una mail che contiene il link ad un file php a cui passa qualche parametro in querystring.. il file in questione setta un flag che avrai messo sul database e che all'inizio, in attesa di conferma, sarà 0...
la versione più semplice ed immediata è questa:
invii per e-mail un link tipo
http://www.miosito.it/autentica.php?id=$id_utente
e nella pagina nin questione fai ua query tipo:
update utenti set `autenticato`=1 where `id`=$_GET['id']
spero che così ti sia chiaro... il problema è che in questo modo chiunque può attivare l'utente "105" per esempio.. senza che questo abbia mai ricevuto la mail... allora devi fare qualcosa per cui l'indirizzo non sia indovinabile... ad esempio puoi aggiungere al link un md5 di una password tua+l'id... in modo che ogni id avrà un md5 diverso (cambia con l'id) ma non sia banale ricavare la stringa md5 (bisogna conoscere la password oltre l'id).
esempio:
$key = md5($id.'miapassword');
http://www.miosito.it/autentica.php?id=$id_utente&key=$key
nella pagina autentica.php fai:
$key = md5($_GET['id'].'miapassword');
if($key != $_GET['key'])
{
echo 'tentativo di hacking';
exit;
}
//fai la seguente query tranquillamente
update utenti set `autenticato`=1 where `id`=$_GET['id']
spero di essere stato chiaro
![]()

Rispondi quotando