Отправить php форму в 2 места - PullRequest
1 голос
/ 05 января 2011

Каков наилучший / самый простой способ отправки информации из формы в два разных места, в основном есть 2 действия в одной форме. У меня есть несколько полей, которые должны называться по-разному для каждого действия, например ..

<form id="form" name="form" action='post.php' method='POST' accept-charset='UTF-8'><input type='hidden' name='xnQsjsdp' value=SlGqwqH3ITc$/>  <input type='hidden' name='xmIwtLD' value=x4LHs39QfKiFkCs1PrsnsG-*B6-MHnNR/>  <input type='hidden' name='actionType' value=TGVhZHM=/> <input type='hidden' name='returnURL' />
<input name='firstName' type='text' id="firstName" style="float:left; width:45%;" maxlength='40' />
<input name='lastName' type='text' id="lastName" style="float:left; width:45%;" maxlength='40' />
<input type="submit" />
</form>

post.php выглядит следующим образом.

<?php

    if ($_SERVER['REQUEST_METHOD'] == "POST") {

      $hidden1      = $_POST["xnQsjsdp"];
      $hidden2      = $_POST["xmIwtLD"];
      $hidden3      = $_POST["actionType"];
      $hidden4      = $_POST["returnURL"];
      $firstName    = $_POST["firstName"];
      $lastName     = $_POST["lastName"];
      $street       = $_POST["Street"];
      $city         = $_POST["City"];
      $State        = $_POST["State"];
      $zipCode      = $_POST["Zip"];
      $email        = $_POST["Email"];
      $phone        = $_POST["Phone"];
      $LEADCF7      = $_POST["LEADCF7"];
      $zohoPrams    = "xnQsjsdp=$hidden1&xmIwtLD=$hidden2&actionType=$hidden3&returnURL=$hidden4&First Name=$firstName&Last Name=$lastName";
      $maxPrams     = "FName=$firstName&LName=$lastName";

    };

?>
<script>
$(function() { // setup an onReady (similar to onLoad) handler
        $.post("https://crm.zoho.com/crm/WebToLeadForm", <?php echo $zohoPrams; ?>; // post to first address
        $.post("http://www.max360group.com/", <?php echo $maxPrams; ?>; // post to second address
});
</script>

как вы можете видеть, я пытался использовать ajax ... но я думаю, что я делаю что-то не так, если у вас есть предложения сделать это любым другим способом, который был бы великолепен:] Спасибо!

Ответы [ 3 ]

4 голосов
/ 05 января 2011

Вы можете сделать это на стороне сервера с помощью cURL в post.php.

Итак, у вас есть установленные переменные, которые были проверены и очищены, тогда:нужно немного изменить, чтобы сделать именно то, что вы хотите, и, вероятно, потребуется подделать заголовки, как будто это делает браузер, но это его основная функциональность.Может также потребоваться установить для CURLOPT_RETURNTRANSFER значение true.

2 голосов
/ 05 января 2011

отправка запросов XHR или Ajax запрещена для разных доменов.Вы можете добиться этого с помощью cURL.Я хотел бы представить, что здесь есть довольно много учебных пособий по отправке форм с использованием PHP и cURL.

Пример поиска в Google, чтобы найти правильное направление: http://www.google.com/search?q=using+curl+to+submit+form+data+php

0 голосов
/ 05 января 2011

Ваша основная проблема в том, что javascript не может быть использован для доступа к файлам на других серверах, как вы пытаетесь это сделать. Подход, который будет работать, заключается в том, чтобы на вашем сервере были PHP-файлы, которые просто настраивали формы и отправляли их (через формы submit() с использованием javascript) на удаленные серверы.

...