PHPでは、リダイレクトする際にPOSTでデータ送信はできない。
他の言語でできるのかは知らない。
OpenIDConnectを使った認証で最後に外部サイトへリダイレクトする仕様があり、その際にいくつかのデータ送信が必要なため調べたが、できないって。
なので単純にJavascriptでForm Submitするしかないっぽい。
CodeIgniterを使ってるんで、とりあえずビューを作成。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex,nofollow">
</head>
<body>
<form id="form1" name="form1" method="post" action="[外部サイトのURL]" >
<input type="hidden" name="input1" value="value01">
<input type="hidden" name="input2" value="value02">
</form>
<script src="<?php echo base_url();?>js/jquery.js"></script>
<script src="<?php echo base_url();?>js/submit.js"></script>
</body>
</html>
input要素は、全てhiddenにし、ビューが出力される際に何も表示されないようにしている。
$(function(){
$(document).ready(function(){
$('#form1').submit();
});
});
Javascriptもインラインは禁止なんで外部ファイル化が必要なんでjqueryにしたが
ただ、これ、一瞬真っ白ページが表示されるんだよなぁ。
いいのか、これで・・・
他になんかあればなぁ