개발! 딱 깔끔하고 센스있게!

PHP 를 사용하여 POST 데이터를 보낼 수 있습니까? 본문

개발 스크랩 메모/PHP

PHP 를 사용하여 POST 데이터를 보낼 수 있습니까?

렉사이 2020. 12. 25. 22:37

업데이트: PHP 로 POST 요청 복사본을 어떻게 발송합니까?그곳의 해결 방안은 나에게 작용하지 않는다.

수출 요청의 결과일 뿐, 나는 이렇게 하고 싶지 않다.

나는 사용자를 외부 사이트에 보내려고 한다.

그것은 안전한 신용카드 처리 사이트이다.

업데이트 2: 나는 아래에 도표를 하나 추가해서 내가 해야 할 일을 명확하게 설명하려고 했다

내가 할 건:

  1. a html form is submitted to a php script

  2. the php script does some processing on the data and then submits data via POST request to an external website

  3. I do not want to receive the result of the POST request in my PHP script, instead I just want to send the user to the external site where they see the result of the POST

나는 이 작업에 적합하지 않다고 생각한다.

내가 요청한 결과에 흥미를 느끼지 않기 때문에, 나는 사용자를 다음 사이트로 보내려고 할 뿐, 그들이 직접 양식을 제출하는 것과 같다.

이로써 나는 외부 사이트에 양식을 제출하고 싶지만, 나는 먼저 나의 스크립트에 제출하고, 이렇게 하면 나는 자료를 처리하고 이메일 통지를 보내고 외부 사이트에 새로운 계산 데이터를 제출하고 싶다.

내가 생각할 수 있는 방법은 새 양식 출력을 숨기는 필드 출력으로 사용해 javascript 자동 제출 양식을 사용했지만 더 직접적이고 건장한 방법으로 완성해야 하며 javascript 에 의존하지 않는다.

조작 헤더일 수도 있으나 php 함수를 통해 간단히 post 요청을 병렬적으로 결정할 수도 있습니까?

What I'm trying to do

대답

긴말: 아니, PHP 를 사용할 리가 없어.

One way I can think of doing this is to output the new form output as hidden fields along with javascript to auto-submit the form ...

이것은 유일한 방법이다.


문제는 PHP 가 POST 데이터와 반복될 수 있다는 점이다.


자살 해결 방안으로 HTTP 307-임시 정향을 고려할 수 있다.

위 링크 HTTP/1.1 문서:

If the 307 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.

사용자가 확인하지 않은 중정방향이 실제로 브라우저 프로토콜에 대한 실현에 달려 있다고 강조할 뿐이다.

PHP 스크립트에서 다시 설정할 수 있습니다.

이 스크립트가 POST 요청을 받아서 다음과 같습니다:

header('HTTP/1.1 307 Temporary Redirect'); header('Location: '); 

기본 용법 예제:

page1.html-폼 포함 페이지

  

page2.php-POST 데이터를 반복하기 전에 처리할 페이지

page3.php POST 데이터를 다시 지정한 페이지 (즉 외부 사이트)

$val) echo $key . ' = ' . $val . '
'; } else echo 'variable1 and variable2 are not set';

Comments