Bien, la cosa es que tengo una pagina de registro (register.php) que al enviar el formulario te envia a insteruser.php que se encarga de registrar al usuario en la base de datos.
Esto va perfecto, el problema está a la hora de enviar el formulario de validación.
El email se envía perfectamente con el enlace correcto, pero el "código" automático que se genera no queda registrado en la tabla correspondiente en la base de datos. Y necesito esto para validar la cuenta.
El código es este:
Código PHP:
<?
$query="SELECT * FROM members WHERE email='$email'";
$connection=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$connection);
if(mysql_num_rows($result)){
$regstatus="El email que ha introducido ya está en uso.";
} else {
$query="INSERT INTO members (email, password, name, lastname, birthday) VALUES ('$email','$password','$name','$lastname','$birthday')";
$result = mysql_query($query) or die(mysql_error());
$regstatus = "Registro correcto";
//El error está por aquí, a la hora de registrar los datos en la tabla 'activation'
$code = sha1(mt_rand().time().mt_rand().$server['REMOTE_ADDR'].mysql_insert_id());
mysql_query("INSERT INTO activation ('code', 'userid') VALUES ('".$code."', '".mysql_insert_id()."');");
//Aqui tengo las variables que componen el email. Esto está perfecto.
mail($email,$esubject,$ebody,$eheaders);
}
?>
- id (NT auto_increment
- code VARCHAR (50) NULL
- userid VARCHAR (5) NULL
Por favor, llevo días buscando y buscando pero nada. No encuentro el error.
Gracias de antemano.