Pues validar algo SÓLO con javascript no es muy bueno, ya que como es del lado del cliente se puede pasar fácilmente.
¿Ves lo que te decía? No conocíamos la función
validar y mucho menos posteaste tu archivo php. No es crear polémica, pero si hubieras publicado esto en el foro de JavaScript con la respectiva función, o aquí con el código de tu php, te hubiermos dado una mejor respuesta.
Validar algo así:
En ocasiones no llega a bastar, debes usar la función empty() o isset(), o ambas.
Revisando los dos updates, no veo algo que haya cambiado salvo la sentencia sql, todo el demás código es exactamente lo mismo, ahí estás duplicando código basura.
En fin.