2010-08-18 2 views
0

Мне трудно понять это. Я даже не уверен, что это возможно. Я буду признателен за любую помощь !!передать переменную с одного сайта на другой

На сайте А, у меня есть ссылка (партнерская ссылка типа), который перенаправляет на сайт B. При нажатии на ссылку на сайте А, я использую этот скрипт для перенаправления ..

header('HTTP/1.1 301 Moved Permanently'); 
header('Location: ' . $url); 
exit; 

за $ URL var - это только URL-адрес сайта. Я не могу понять, как передать переменную из сценария перенаправления на сайт B без использования строки запроса в самом URL-адресе (например, http://www.siteB.com/?var_to_pass=something)

Кроме того, оба сайта находятся на другом сервере, поэтому я «Не уверен, что сеансы будут работать. Но между сайтами у меня есть сценарий, который, я надеюсь, я могу использовать кого-то для достижения того, что мне нужно.

ответ

2

Существует только один способ передачи данных между сайтами посредством перенаправления, как и вы, в URL-адресе через поисковые вары. Вы не можете переадресовать браузер через POST, поэтому GET - ваш единственный вариант.

+1

Конечно, вы можете ... Все, что вам нужно, это немного javascript ... Измените javascript, который затем выдает запрос на отправку. – ircmaxell

+0

Правда, но, как обычно, что делать, если javascript не включен? –

+0

@ircmaxell Ужасная хакерская идея, которая терпит неудачу, если у пользователя нет JS – meagar

1

Вы можете сделать это с помощью POST и javascript, но это не так красиво (или надежно). Просто введите форму, представленную телом onLoad.

Вы просто хотите скрыть переменную от людей? Вы можете сделать это:

www.sitea.com -> (redirect) -> www.siteb.com/incoming?var=blah 
# then 
www.siteb.com/incoming?var=blah -> (redirect) -> www.siteb.com/ 

Это будет происходить так быстро, что пользователь даже не будет видеть и конечный результат, который SITEB получает переменную из SiteA и пользователь попадает на чистую глядя URL.

+0

Это аккуратно! Спасибо :) Но смогу ли я сохранить рефайлы «blah» после сайта b? –

+0

Вам необходимо сохранить его вручную на своей входящей странице (в сеансе или что-то еще). Таким образом, сайт b сможет получить к нему доступ в случае необходимости. –

0

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

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