Hola, se me ocurren 2 cosas:
Primero: busca esta linea:
if ($_SESSION['hoja']!=1)
esta casi al comienzo de tu codigo, y la cambias por:
if ($_SESSION['hoja']!==1)
Luego, intenta llamar a
accion no como $accion, sino mas bien como $_GET['accion']
if (!isset ($accion)){ =>
if (!isset ($_GET['accion']){
elseif($accion=="guardar") =>
elseif($_GET['accion']=="guardar")
y a los nombres de los campos usando $_POST['nombre_del_input'] y no simplemente como $nombre_del_input
Salu2