Has probado a hacer lo mismo pero a mano (sin escribirlo desde php) ??
Falta saber si es un problema de servidor o el documento que lo recibe (en cuyo caso no es problema html ni php) o si es problema de la sintaxis php que haga algo raro o qué.
mejor deja aquí el código resultante de ejecutar ese php. Entonces será más facil ver si hay algún problema en el html