Cita:
Iniciado por yakrum
De nuevo, muchas gracias supercoco79, por aclararme mi duda sobre el atributo value='1'
Pero sorprendentemente tengo 1 error que no me esperaba:
Error nuevo 1)
Si al editar el registro desmarco un chekbox para que la base de datos almacene un '0' en ese campo, me vuelve a dar el error
Código PHP:
Notice: Undefined index: trans_publico
Notice: Undefined index: agua_potable
Notice: Undefined index: aseos
Dependiendo de qué chekboxes estén desmarcados...pero en la base de datos SÍ almacena el '0' correspondiente.
Qué estoy haciendo erroneamente?
Muchas gracias de nuevo, me estas ayudando a aprender de mis errores!!
Como te expliqué, si un checkbox no está seleccionado, por ejemplo, 'agua_potable', entonces cuando haces submit en el formulario, el índice 'agua_potable' dentro del array $_POST deja de existir y devuelve un valor NULL. Ahí está el NOTICE. No es un error, sino un WARNING que te da PHP en modo desarrollador. Si quieres que no aparezca, volvemos a la carga:
Código PHP:
$agua_potable = (array_key_exists('agua_potable', $_POST))?$_POST['agua_potable']:NULL;
Este código evitará que te salga el WARNING, y no cambiará el funcionamiento.
Otros consejos que creo que tienes que tener en cuenta:
1. Tu formulario no está validado. Todos los campos deberían pasar una validación antes de ser enviado para evitar que se guarden datos inesperados.
2. Antes de guardar nada en tu db proveniente de un formulario, debes limpiar tus inputs para evitar código maltintencionado. Puedes usar la función nativa de PHP htmlspecialchars()
http://us1.php.net/manual/es/functio...ecialchars.php
Mi recomendación es que adquieras un buen libro de PHP y MYSQL, y leas la documentación disponible en sus web oficiales.
Un saludo.