Six_Cool's 작업창고

PHP 컨트롤러에서 redirect 하면서 post 데이터 전달 방법 본문

프로그래밍/PHP

PHP 컨트롤러에서 redirect 하면서 post 데이터 전달 방법

Six_Cool 2021. 8. 11. 14:37

HTML 폼과 자바스크립트를 이용한 방법이다.

1. post 전송 form과 submit() 스크립트를 만드는 함수 작성 

2. 해당함수에 redirect 할 주소와 데이터변수 배열을 담아 호출.

3. 리턴없이 submit() 스크립트 바로 실행됨.

	 // POST방식 전송 redirect 함수
     function redir_post($redir_url, $redir_values_array){
         echo("<form name='redir_form' action='$redir_url' method='post'>");
         foreach ($redir_values_array as $key => $value) {
             echo("<input type='hidden' name='$key' value='$value'>");
         }
         echo("</form> <script language='javascript'> document.redir_form.submit(); </script>");
     }

	 // 같은 클래스 내에서 호출 사용 예
     $url = 'https://greatshot.tistory.com/recieve_post';
     $values_array = array(
         'sns_connect'	=> $sns_connect,
         'wp_uuid'		=> $uuid,
         'token'			=> $access_token->id,
         'returnUrl'		=> $returnUrl,
         'linkFrom'		=> $linkFrom
      );
      $this->redir_post($url, $values_array);
Comments