Esto no es correcto:
$nombre_sesion=session_name("datos_alta");
session_start($nombre_sesion);
Fijate en la documentación de ambas funciones en PHP.net:
www.php.net/session_start www.php.net/session_name
Si quieres definir nombre de sesión (por qué es opcional) usa:
Código PHP:
session_name("datos_alta");
session_start();
Este tipo de validaciones:
$tipo=$_POST['tipo'];
if($tipo!=NULL)
Usa:
Código PHP:
if (!empty($_POST[tipo])){
// etc ..
}
Un saludo,