Te pasa porqué no usas Comillas en el tag Value .. por ende a PHP solo le llega de un value=pepe gonzalez .. solo pepe .. a no ser que lo "entrecomilles" value="pepe gonzalez" ...
En tu caso: .. así con todos los "value" q tengas ..
Código PHP:
<input name="autor" type="text" value="'.$row[autor].'"></td>
Y como recomendación .. ya que estas usando una sintax parecida a "Here doc" .. usa mejor "here doc":
Código PHP:
echo <<<HTML
<input name="autor" type="text" value="$row['autor']"></td>
HTML;
Como veras .. con sintax "here doc" se pueden respetar las "comillas" dobles o simples como en tu HTML original .. y si necesitas de llamar alguna variable lo puedes hacer sin concatenar ni "partir" la sentencia donde corresponda .. (solo es válido para llamadas a variables $simples o $arrays['nose'] ... No para $objetos->metodo() ..)
Mas info: (donde siempre .. el manual oficial de PHP):
http://www.php.net/manual/en/language.types.string.php
Un saludo,