Parece un problema de comillas, prueba con este code:
Código PHP:
<?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());
$user_id=mysql_insert_id();
mysql_query("INSERT INTO 'activation' ('code', 'userid') VALUES ('$code', $user_id");//comillas modificadas
//Aqui tengo las variables que componen el email. Esto está perfecto.
mail($email,$esubject,$ebody,$eheaders);
}
?>