Podam ci tylko jak to powinno wyglądać, powinieneś sobie poradzić - a jak nie to wtedy zmontuje coś konkretnego.
Kod
CREATE TABLE activation_keys (
activation_key char(30) not null,
user_id int unsigned not null
);
Tok postepowania:
1. Po rejestracji konta potrzebne są takie dane:
ID nowego konta,
EMAIL podany przy rejestracji
2. Generujemy losowy klucz o długości 30 znaków.
Tutaj znajdziesz funkcję do tego zadania.
3. Zapisujemy rekord w bazie:
Kod
INSERT INTO activation_keys values('$klucz',$id_usera);
Do tego jeszcze montujesz skrypt, np: aktywacja.php o takim pseudokodzie:
[php:1:aa3a21d20d]
<?php
if ( strlen( $_GET{'key'} ) != 30 )
die;
else
{
// pobranie rekordu z tablicy "activation_keys" gdzie "activation_key"=$_GET{'key'}
// jesli rekord istnieje to aktywujemy usera o ID pobranym z bazy i kasujemy ten rekord
// jesli rekord nie istnieje pokazujemy komunikat "spadaj cfaniaku"
}
?>
[/php:1:aa3a21d20d]
to tyle, troche na szybko, ale powinno być ok, spadam spać