У вас нет кавычек вокруг ваших входов. Если какое-либо из этих значений содержит пробелы или метасимволы html, ваша форма «сломается».
, например
$subject = "hi there";
будет производить
<input type='hidden' name='Subject' value=hi there />
Когда эта форма будет отправлена, вы получите Send=hi
, и there
не будет передано, так как рассматривается как неизвестный атрибут HTML во входном теге.
Вам нужно что-то вроде этого:
<?php ?>
<input type="hidden" name="Subject" value="<?php echo htmlspecialchars($send) " />
Две вещи на заметку:
Я не делаю это в эхо. В то время как echo может выводить многострочные куски текста, это слишком болезненно, к тому же это пустая трата ресурсов процессора, чтобы проанализировать эту строку как код PHP и затем вывести ее. Вместо этого просто выйдите из режима PHP и выведите его непосредственно в виде необработанного HTML.
Я обработал $ send через htmlspecialchars (). Это «экранирует» любые специальные символы, которые в противном случае могут рассматриваться как часть разметки HTML, а не как часть данных, которые вы передаете.