Исходя из вашего ответа на комментарии выше, вам нужно не "заполнить форму" с помощью curl, а скорее разместить заполненную форму на той же странице, на которую обычно отправляется форма.
Это также называется публикацией на нескольких сайтах, и многие разработчики специально проверяют и не позволяют улучшить безопасность. Это также будет намного сложнее, если в форме есть капча.
Предполагая, что это все еще имеет смысл (я уже использовал эту технику для формы подписки на рассылку), вот что вы хотите сделать:
Чтобы получить URL-адрес действия формы, вам нужно просмотреть код Javascript для сайта и найти, где определена функция funcy_function (). Тогда в теле функции вы, скорее всего, увидите целевой URL. Вы также должны отметить конкретные имена переменных формы в html. Вам нужно будет настроить ваши переменные с точно такими же именами. Тогда ваши настройки скручивания будут выглядеть так:
$url = 'http://www.targeturl.com';
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
Это отправит переменные записи на указанный URL, имитируя то, что обычно происходит из формы. HTML-код, который возвращает страница, будет в $ response, если вы захотите проанализировать или использовать его.