En el value no puedes "tomar variables" sólo puedes colocar valores, que no es lo mismo.
Al recibir dicho formulario es cuando dicho valor se almacena en una variable.
Y pues así funcionan las cosas:
Código PHP:
Ver original$x = 'y';
echo '<input name="foo" value="' . $x . '">';
Al hacer eso produces lo siguiente:
¿Se entiende?