mohack я бы сделал так.
В отдельном файле написал бы список data_list.txt всех ваших полей в договоре (которые вы будете вставлять в поля вашего готового договора) чтобы вам уже точно знать какие переменные вставлять и обрабатывать.
Затем в самом начале файла самого договора написал бы обработчик всех этих ваших переменных из списка(открыть ваш data_list.txt и по очереди брать все ваши переменные). Например (названия переменным конечно надо давать осмысленные, написал просто для примера)
$var_1 = (!empty($_POST['var_1']) ? htmlspecialchars($_POST['var_1']) : '<font color="#FF0000">Нет Данных</font>';
$var_2 = (!empty($_POST['var_2']) ? htmlspecialchars($_POST['var_2']) : '<font color="#FF0000">Нет Данных</font>';
$var_3 = (!empty($_POST['var_3']) ? htmlspecialchars($_POST['var_3']) : '<font color="#FF0000">Нет Данных</font>';
$var_4 = (!empty($_POST['var_4']) ? htmlspecialchars($_POST['var_4']) : '<font color="#FF0000">Нет Данных</font>';
$var_5 = (!empty($_POST['var_5']) ? htmlspecialchars($_POST['var_5']) : '<font color="#FF0000">Нет Данных</font>';
$var_6 = (!empty($_POST['var_6']) ? htmlspecialchars($_POST['var_6']) : '<font color="#FF0000">Нет Данных</font>';
...
...
...
...
И только после этого вставить в коде ниже эти самые переменные в нужные места.
И еще, обязательно сделать обработчик проверки заполнения полей в форме, на Javascript, чтобы при пустом значение обязательных текстовых полей, данные не отправлялись, а выскакивало Javascript окошко с предупреждением с сообщением, что соответствующее поле нужно заполнить.
И конечно удалите потом ваш data_list.txt файл, чтобы его не было на сервере.