2013-09-26 2 views
0

Итак, у меня есть форма на переднем конце. Я использую jQuery для сбора и отправки данных на collect.php.перенаправить данные GET на другой сайт с помощью PHP

Я хочу, чтобы collect.php отправил на другой сайт в следующем формате ? Fname = tom & phone = 3434343.

Как просто отправить данные, отправленные на collect.php на этот сайт?

ответ

0

использование get метод для генерации строки запроса т.е. ?fname=tom&phone=3434343 .

Установите action на сайте URL вы хотите форму, чтобы получить представить

<form action="URL" method="get"> 
    <input type="text" name="q" value=""> 
    <input type="submit" value="search"> 
</form> 

Ссылки

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data

также Читать http://api.jquery.com/serialize/

Update

How To ? Form Post to Multiple Locations

Лучший способ пойти об этом было бы сначала представить форму вашему локального сценария, а затем использовать CURL, чтобы отправить (отфильтрованные) данные, которые были получены от к удаленному сценарию. Тогда просто понаблюдайте за ответом.

Затем просто отправьте электронное письмо и обработайте ответ с удаленного сценария на своем местном.

0

Если вы хотите, чтобы отправить его в невидимом способе с помощью PHP, вы можете использовать CURL расширение (как правило, уже интегрировано), у вас есть учебник здесь: http://www.binarytides.com/php-curl-tutorial-beginners

-1

Я понимаю ваш вопрос, как вы были отправить данные в форме на вашем collect.php, то вы хотите снова отправить данные с collect.php на другую страницу e.g anotherpage.php. Исправьте меня, если это не то, что вы хотите сделать.

Если да, то почему бы не использовать снова JQuery в вашем collect.php

$.get('anotherpage.php', { fname: 'tom', phone: '3434343' }); 

Надеется, что это помогает .....

+0

Вы не перенаправляетесь на другую страницу по $ .get – davidkonrad

+0

@ davidkonrad, он не сказал, что вам нужно перенаправить на другую страницу, просто отправьте данные. Моя идея не должна проголосовать за меня, потому что я отвечаю только на то, что было задано \ – HTTP

5

Поскольку вы уже собрали данные и послали его в collect.php, вы, вероятно, должен будет сделать что-то вроде этого:

$query = http_build_query($_GET); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/something.php?" . $query); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 

Это позволит отправлять данные на другой сайт с вашего PHP-скрипта.

Если вам также необходимо указать строку пользовательского агента или ссылку (как в случае с фальшивкой браузера), вы должны посмотреть на параметры, предоставленные curl_setopt().

Альтернативным решением было бы использовать sockets, но вам понадобится изучить сам протокол HTTP.

+2

... Интересно, почему я получил нисходящий знак? Недостаточно jQuery? –

+0

Это правильный ответ, поскольку он специально заявляет, что хочет отправить запрос с сайта collect.php на другой сайт. Ответы, которые просто перенаправляют форму с помощью jquery или html, вообще не помогают. –

+0

А что, если '$ _GET' содержат символы' UNICODE'? Тогда эти символы должны быть 'url_decode()' d. Также почему бы не использовать встроенную функцию 'http_build_query()'? например '$ query = http_build_query (array ('foo' => 'bar'))'? – Yang

Смежные вопросы