codice:
echo "
<input type='hidden' name='id' value=\"$row[id_prodotto]\"> 
<input type='hidden' name='tit' value=\"$row[titolo]\"> 
<input type='hidden' name='prezzo' value=\"$row[prezzo]\"> 
<input type='hidden' name='scaden' value=\"$row[scadenza_offerta]\"> 
<input type='hidden' name='desc' value=\"$row[descrizione]\">
";
Senza le virgolette legge solo la prima parola e si ferma allo spazio.

Non serve, anzi e' quasi sconsigliato l'uso delle parentesi con echo e print. Non sono funzioni, ma costruttori. Non c'entra con il tuo problema.