Из прочтения двух других ответов и комментария ОП у меня есть пара идей.
В частности, комментарий ОП был:
Отправка формы вручную дает правильный вывод. PHP, который обрабатывает форму: if (isset ($ _ POST ['submit'])) {echo $ _POST [name] ..... и т. Д. И все
В стандартных условиях ваша базовая форма, как отмечено в Первоначальном вопросе, генерирует массив $ _POST, как показано ниже:
array(
'name' => 'The Name as Entered in the Form' ,
'comment' => 'The Comment as Entered in the Form' ,
'submit' => 'submit' # From the "Submit" button
);
Ваш комментарий предполагает, что какой-то аспект вашего обработчика форм ищет элемент $ _POST, называемый "submit".
1) Базовая форма, как указано в вопросе, всегда будет возвращать FALSE для проверки на $ _POST ['submit'] и, как таковая, будет запускать действие ELSE (если присутствует) для этого условия.
2) Ваше действие CURL не устанавливает ни «отправить», ни «отправлено» и, опять же, всегда возвращает ЛОЖЬ для условного.
Итак, я бы посоветовал вам:
1) Проверьте ваш обработчик форм и посмотрите, какие поля являются обязательными, как их имена и каким должно быть их содержимое.
2) Проверьте основную форму и убедитесь, что в ней есть соответствующие поля.
3) Проверьте действие CURL и убедитесь, что оно детализирует каждое обязательное поле. (Простая проверка заключается в том, чтобы вставить print_r( $_POST );die();
вверху вашего обработчика форм и отправить основную форму. Это покажет вам, что именно отправляет форма, чтобы вы могли воссоздать ее в CURL.