Каким образом можно передать данные из одной формы одновременно двум скриптам?

Статус
В этой теме нельзя размещать новые ответы.

casher

Полезный
Регистрация
24 Фев 2008
Сообщения
168
Реакции
17
Здравствуйте, есть такой вопрос:
Каким образом можно передать данные из одной формы одновременно двум скриптам(например: site1.ru/form1.php и site2.ru/form2.php)?
Причем в site1.ru/form1.php нужно лишь сохранить переданные данные, а в site2.ru/form2.php продолжить работу с юзером ( т.е. остаться в активном окне).
Изначально данны с формы отправлялись на site2.ru/form2.php. Но появилась необходимость сохранять передаваемые данные, а доступа к site2.ru/form2.php нет.
Интересует алгоритм и возможно некоторые наброски.
Спасибо.
 
после заполнения формы с помощью ajax передавать данные на site1.ru/form1.php потом сабмитить форму
 
после заполнения формы с помощью ajax передавать данные на site1.ru/form1.php потом сабмитить форму
В задаче как я вижу нужно находясь на site2.ru передать данные site1.ru/form1.php.
Насколько мне известно запрещено использовать xml - сокеты для передачи данных на другой домен(сайт).
 
omega, ситуация несколько другая:
форма находится на site1.ru и передаёт данные скрипту на site2.ru, и необходимо данные передаваемые формой сохранять на site1.ru.
+ на даный момент, при сабмите формы открывается новая вкладка - site2.ru/form2.php .
 
omega, ситуация несколько другая:
форма находится на site1.ru и передаёт данные скрипту на site2.ru, и необходимо данные передаваемые формой сохранять на site1.ru.
+ на даный момент, при сабмите формы открывается новая вкладка - site2.ru/form2.php .
Тогда как уже сказал Sanuch, используйте AJAX, от себя только добавлю ссылку на довольно таки хороший материал по аяксу.
 
Можно сделать чтоб после сабмита формы данные передавались в скрипт на том же сайте, а оттуда уже можно передать и на другой скрипт (курлом, или как нибудь еще).
Это будет более правильно.
 
Рекомендую использовать либу jquery Почитай эту страничку
Добавь что бы при сабмите формы срабатывала функция яваскрипт:
Код:
<form ... onsubmit="return sendform();">
Создай функцию яваскрипт sendform(), которая будет методом например пост передавать данные на site1.ru/form1.php Для этого используй такое:
Код:
jQuery.post( url, [data], [callback],[type] )
, например
Код:
jQuery.post("form1.php",{name:"Vasya",password:"12345"});
Где name, password названия параметров, то что в кавычках соотв их значения. Как получить значения в яваскрипте думаю знаеш, можно использовать тот же jquery:
Код:
var name = jQuery("#name_field_id").value;

В конце функции не забудь вернуть true, чтобы форма отправила данные как и должна на site2.ru/form2.php
 
например с курлом, запускать скрипт после получения данных на site1, который отсылает данные на site2
PHP:
    $url = 'http://www.site2.ru/forma.php';
//POST поля
    $fields = array(
                    'field1='.urlencode($_POST['field1']),
                    'field2='.urlencode($_POST['field2']),
                    'field3='.urlencode($_POST['field3']),
                    'field4='.urlencode($_POST['field4']),
                    'submit=1'
                    );

    $fields_string = implode('&', $fields); 
    //open connection
    $ch = curl_init();
    
    //set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_POST,count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    //execute post
    $result = curl_exec($ch);
    //close connection
    curl_close($ch);
 
site1/form.php:
PHP:
//save...
<div style='display:none'>
<form action=site2/form.php id=form1>
.........
</form>
</div>
<script>
document.getElementById('form1').submit();
</script>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху