Mira, tu codigo ya es un choclo. Es bueno que te vayas acosumbrando a trabajar por capas: por un lado, el html, por otro la logica PHP y por otro las consulta a base de datos. Se trata de 3 archivos separados. Estrategicamente es lo mejor. Tu codigo queda organizado y es mucho mas facil desentrañar y mantener el codigo.
En cuanto a por que tu base de datos no registra valores, lo que tenes que hacer es debuguear. Así:
Si hay un error en la consulta, así vas a saber cual es. Quizas tu campo en base de datos no acepte null o algo de eso.