Mora se u tabelu ubaciti code
pri registraciji da bi se moglo provjeriti da li je to validan kod kliknut preko linka u mejlu.
Znaci, tabela treba upisati i random
polje (code
vrijednost) i onda ovim dvjema linijama treba izmijeniti mjesta:
$code = rand(10000, 1000000);
$ins = mysqli_query($conn, "INSERT INTO korisnici (`username`, `password`, `email`, `date`, `maincategories`, `subcategories`, `random`, `active`) VALUES ($username, $password, $email, $date, $maincategories, $subcategories, $code, $active);");//vjerujem da je `id` AUTO_INCREMENT pa ga nema potrebe prosljedjivati
if($ins)
{
echo "Inserted successfully";
// slanje mejla ovde - moze u ovom if bloku
}
Zatim se ovde salje mejl korisniku.
U activate.php
fajlu treba izvrsiti provjeru da li se u bazi nalazi korisnik tog i tog imena i tog i tog random koda jer ce na tu lokaciju doci korisnik po kliku u mejlu.
U activate.php
treba da stoji prvo pretraga reda u tabeli gdje su username = '{urldecode($_GET[\'username\'])}' AND random='{urldecode($_GET[\'code\'])}'
. Ako takav red postoji, u tom slucaju aktivirati korisnika. urldecode() zbog korisnickog imena koje sadrzi space ili neki drugi specijalan znak.
Kod uopste nije siguran i na ovom linku ce se naci bolja praksa koja obuhvata prepared statements.
Eh. Dobro, onda necu dodavati vise nista. 