reCaptcha provjerava da li si "ljudsko bice",njemu je potrebna verifikacija emaila...
Napravi novu tabelu sa imenom
ne_verifikovani_korisnici za ne verifikovane korisnike.
Zatim napravi :
- verif_kod,varchar(50)
- username,varchar(50)
- password,varchar(20)
- mail,varchar(50)
Recimo da koristis formu slicnu ovoj za registraciju:
<form name="regg" method="post" action="reg.php">
<input name="username" type="text">
<input name="mail" type="text">
<input name="pw" type="password">
<input type="submit" name="regse" value="Registruj se">
</form>
onda bi reg.php izgledao ovako:
<?
/*
ovdje upisi kod za konektovanje sa bazom
*/
if (!$_POST["regse"]){
$verif_kod=md5(uniqid(rand()));
$username=$_POST['username'];
$password=$_POST['pw'];
$mail=$_POST['mail'];
$query="INSERT INTO ne_verifikovani_korisnici(verif_kod, username, mail, password)VALUES('$verif_kod', '$username', '$mail', '$password')";
$r=mysql_query($query);
if($r){
$kome=$mail;
$naslov="verifikacija";
$od="od:[email uklonjen]";
$poruka.="http://tvojsite.com/verifikujse.php?kod=$verif_kod";
$posalji = mail($kome,$naslov,$poruka,$od);
}
if($posalji){
echo "Kod za verifikaciju poslan";
}
else {
echo "greska";
}
}
?>
a verifikujse.php:
<?
/*
ovdje upisi kod za konektovanje sa bazom
*/
$kod=$_GET['kod'];
$q="SELECT * FROM ne_verifikovani_korisnici WHERE verif_kod ='$kod'";
$r=mysql_query($q);
if($r){
$c=mysql_num_rows($r);
if($c==1){
$red=mysql_fetch_array($r);
$username=$red['username'];
$mail=$red['mail'];
$password=$red['password'];
// registrovani_korisnici zamjeni sa imenom tabele koje koristis za registrovane korisnike
$q2="INSERT INTO registrovani_korisnici(username, mail, password)VALUES('$username', '$mail', '$password')";
$r2=mysql_query($q2);
}
else {
echo "Kod nije validan";
}
if($r2){
echo "Racun aktiviran";
$q3="DELETE FROM ne_verifikovani_korisnici WHERE verif_kod = '$kod'";
$r3=mysql_query($q3);
}
}
?>
Nebi trebalo biti gresaka u kodu,ako neko pronadje gresku citiraj