Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2010, 12:18
exodus
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Problema al registrar datos en un sistema de verificación por email

Buenas! Soy nuevo en forosdelweb aunque he entrado mas de una vez buscando códigos php entre otras cosas. Espero que me ayudéis con un problemilla.

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);
}
?>
La tabla se llama 'activation' y tiene tres campos:
- 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.