Tal como te han comentado arriba, deberías crear 1 campo que indique si el usuario esta activo o no. Pero ademas te aconsejo que a la hora de construir
el link de activación, no pases solamente "activate=1" sino que
crearas un campo más en la tabla que guarda un numero aleatorio.
Te pongo un ejemplo:
Código PHP:
$pass=md5($pass);
$activate=create_key(32); // Función que genera un numero aleatorio de 32 digitos
$sql="INSERT INTO users VALUES ('','".$user."','".$pass."','".$email."','".$activate."','1')"; // el 1=estado=no activado
$r = $bd->bbdd_query($sql);
$idTemp=mysql_insert_id(); // recogemos la id del registro que acabamos de añadir.
//Construimos el enlace
$path="http://www.miweb.com/";
$activateLink=$path."activar_registro.php?id=".$idTemp."&activateKey=".$activate."";
El $activateLink lo envias por email.
Y luego como te han comentado mas arriba, recoges mediante $_GET los valores, compruebas si coincide el id del usuario y el link de activación, si coincide, dejas en blanco el campo del link y pones a 0 (activado) el campo estado.
Salu2!!