te lo dejo de nuevo, lo que pasó es que con las prisas coloque unas { } de mas
Código PHP:
Ver original//esto es temporal solo mientras realizas tus pruebas
/////lo de arriba quitar o comentar
$clave = $_GET['id']; //recibe el valor generado para la activación
if($clave <> ""){
$servidor = "localhost";
$usuario = "x";
$password = "x";
$sdb = "x";
$sql = "SELECT nombre,apellido_p,apellido_m,fecha_nac,usuario_temp,password FROM alumnos_temp WHERE txt_activ = '$clave'";//evita usar el *, es mejor escribir los nombres de los campos
//tenias un campo mas que se intenta insertar pero no lo especificabas que era el de edad
$inserta= 'INSERT INTO alumnos (nombre,apellido_p,apellido_m,fecha_nac,usuario,password) values ("'.$registro['nombre'].'","'.$registro['apellido_p'].'","'.$registro['apellido_m'].'","'.$registro['fecha_nac'].'","'.$registro ['usuario_temp'].'","'.$registro ['password'].'")';
echo "<h1>Tu cuenta ha sido activada correctamente</h1>";
$sql = "DELETE FROM alumnos_temp WHERE txt_Activ = '$clave'";
}else{
echo "<h1 style=color:red>Tu cuenta NO ha sido activada correctamente</h1>";
}
}else{
echo "<h2>Los datos proporcionados no son los correctos.</h2>";
}
pero con esto debe quedar, sin embargo lo del error 500 es un problema directo del servidor.
saludos