Antes de averiguar el problema, unos cuantos comentarios:
1- No es recomendable tener un echo con toda esa cantidad de información, porque te es muy ilegible el código y complicarás mucho en caso de necesitar modificaciones; en todo caso, te recomiendo la
sintáxis HEREDOC
2- Creo que en todos los inputs estás omitiendo las comillas para el valor, ejemplo:
<input type="date" name="fecha" value=
'.$fila['fecha'].' size="10">
<input type="date" name="fecha" value=
"'.$fila['fecha'].'" size="10">
Casi estoy seguro que la causa es lo mencionado en el punto 1
3- Puedes simplificar los if's donde tomas los valores de $_POST con asignación ternaria, es lo mismo, pero "más barato":
Código PHP:
Ver original// Lo que tú haces:
if (isset($_POST['fecha'])) { $fecha = $_POST['fecha'];
} else {
$fecha = "";
}
// Con asignación ternaria:
$fecha = (isset($_POST['fecha'])) ?
$_POST['fecha'] : '';
4- Estás tomando todos los campos tal como vienen del formulario, sin escaparlos; aparte de ser la causa más común de errores, también implica riesgos de seguridad por inyección SQL; Lee esto:
http://www.forosdelweb.com/f18/aport...8/#post4265377
Bueno, ahora sí, con tu "problema real"... cuál es el error que obtienes?