Lo que te está faltando es encerrar entre comillas el resultado. Recuerda que en una etiqueta HTML, un espacio en blanco quiere decir que vas a definir un nuevo atributo.
Imagina que no pusieras ninguna comilla:
<input type=text value=palabra1 palabra2>
Después de
text hay un espacio en blanco... quiere decir que el atributo
type ya terminó de definirse. Entonces sigue el nuevo atributo
value y como después de
palabra1 hay un espacio en blanco, se asume que ahí termina el valor. Luego viene
palabra2 que se asume como otro atributo, pero como el navegador no lo reconoce, lo ignora.
Es diferente si lo pone como debería sers:
<input type="text" value="palabra1 palabra2">
Código PHP:
echo"<tr> $nombrecampo:<input type=text name=dato value = \"$value\"> </tr>";
Saludos,