Tema viejito revivido xD
 
Chicos una pregunta, en esta parte: 
 Código PHP:
    <?php 
mysql_connect('localhost','xxxx','xxxx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
 
//recogemos los valores enviados por el link de activacion que mandamos por mail
if (isset($_GET['id'])) {
 
$idval=$_GET['id'];
$activate2=$_GET['activateKey'];  ;
 
//y aqui es donde cambiamos el valor 1=desactivado  por valor 0=activado
$query = "UPDATE usuarios
            SET estado = '0' WHERE   id = '$idval' AND activate ='$activate2' " ;
                mysql_query($query) or die(mysql_error());
?>
            
            <SCRIPT LANGUAGE="javascript">
            location.href = "principal.php";
            </SCRIPT>
<?
 
}else{
        echo "activacion incompleta.";
}
?>    
  Hice una prueba y veo que no se comprueba el key, es decir, si el usuario en la barra de direcciones cambia el key, de todas maneras regresa a la principal pero no activa la cuenta, como se le podria hacer para que se comprobara el key y en caso que no concuerde regrese un mensaje de error? 
Mil gracias !!!