ご教示お願いいたします。
前提・実現したいこと
【環境】
codeigniter
Eclipse
Xdebug
コントローラから別のコントローラにデータをPOST送信し、Xdebugで追いたいです。
発生している問題・エラーメッセージ
下記のソースでいうと、post_receive.phpの処理をデバックしたいです。
今の状況だとpost_submit.phpからデバックを始めて、POST送信してそのまま処理が終了し(post_receive.phpにデバッガが遷移してくれない)、ブラウザにpost_receive.phpからのレスポンスが表示されます。
POSTする側のコントローラ
php
1//post_submit.php 2 3class Post_submit extends CI_Controller 4{ 5 public function __construct() { 6 7 parent::__construct(); 8 9 } 10 11 public function index() { 12 13 // 送信データ 14 $data = array( 15 'greeting' => 'hello', 16 ); 17 18 // JSON形式に変換 19 $data = json_encode($data); 20 21 // ストリームコンテキストのオプションを作成 22 $options = array( 23 // HTTPコンテキストオプションをセット 24 'http' => array( 25 'method'=> 'POST', 26 'header'=> 'Content-type: application/json; charset=UTF-8', //JSON形式で表示 27 'content' => $data 28 ) 29 ); 30 31 // ストリームコンテキストの作成 32 $context = stream_context_create($options); 33 34 // POST送信 35 $contents = file_get_contents('http://localhost/post_receive/index', false, $context); 36 37 //レスポンスを表示 38 echo $contents; 39 40 } 41}
POSTされたデータを受け取る側のコントローラ
php
1//post_receive.php 2 3class Post_receive extends CI_Controller 4{ 5 public function __construct() { 6 7 parent::__construct(); 8 9 } 10 11 public function index() { 12 13 // POST の生データの読み込む 14 $json_string = file_get_contents('php://input'); 15 16 // JSON エンコードされた文字列を PHP の変数に変換 17 $contents = json_decode($json_string, true); 18 19 //レスポンスを表示 20 print_r($contents); 21 22 } 23}
回答2件
あなたの回答
tips
プレビュー