Существует контактная форма, в которой текущим действием является http://www.siteA.com/ContactInfo.php
, она отправляет поля и значения. В ContactInfo.php я просто улавливаю значения и отправляю и отправляю сообщения по электронной почте y @ zx
НО, внутри ContactInfo.php, мне нужно отправить те же данные другому адресату, в другом домене http://www.SiteB.com/Reg.aspx
Я попытался создать HTTP-запрос POST для SiteB, но он не работает даже с другим файлом на том же сайте.
У меня нет кода прямо сейчас, но он похож на эту структуру.
<? php //ContactInfo.php // CATCTH VALUES and SEND EMAIL // CREATE Http POST REquest to another www.siteB.com/Reg.aspx ?>
Я попытался использовать … объект HttpRequest, cURL, а другой … я не могу запомнить имя.
Вы можете попробовать что-то вроде этого, используя cURL ( http://www.php.net/manual/en/curl.examples.php ).
$sub_req_url = "http://www.siteB.com/Reg.aspx"; $ch = curl_init($sub_req_url); $encoded = ''; // include GET as well as POST variables; your needs may vary. foreach($_GET as $name => $value) { $encoded .= urlencode($name).'='.urlencode($value).'&'; } foreach($_POST as $name => $value) { $encoded .= urlencode($name).'='.urlencode($value).'&'; } // chop off last ampersand $encoded = substr($encoded, 0, strlen($encoded)-1); curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_exec($ch); curl_close($ch);
Shamly
Я бы посоветовал вам попробовать Snoopy Class . Это действительно довольно просто:
<?php $vars = array("fname"=>"Jonathan","lname"=>"Sampson"); $snoopy = new Snoopy(); $snoopy->httpmethod = "POST"; $snoopy->submit("http://www.siteB.com/Reg.aspx", $vars); # Use the following if you need to view the results # print $snoopy->results; ?>
Не видя своего кода, трудно сказать, в чем проблема.
Вопросов:
Является ли сайт B доменом, которым вы владеете, или является третьим лицом? Если это третья сторона, они могут запускать проверки ботов и т. П., Которые могут привести к сбою POST.
Вы сделали что-нибудь, чтобы подтвердить, что данные фактически отправляются в домен B?
Если домен B также находится под вашим контролем, я предполагаю, что они работают на одном и том же веб-сервере – почему бы просто не писать логику на страницу домена A, которая делает все, что нужно, без необходимости подчиняться домену B?