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にしたが
ただ、これ、一瞬真っ白ページが表示されるんだよなぁ。
いいのか、これで・・・
他になんかあればなぁ