私は現在curlで情報を他のサイトにPOST送信して、送られたサイトでその送信を受信して、その内容をcookieに記録させようとしています。
具体的なコードは以下のとおりです。
【送信側】
//送信先 $url = 'https://******.jp/recieveinfo.php'; //送信データ $param = array( 'response' => '送信データ', ); //curl初期化 $ch = curl_init(); //送信データのセット curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param)); //送信先のセット curl_setopt($ch, CURLOPT_URL, $url); //curl実行 $response_json = curl_exec($ch); $result = json_decode($response_json); //curlを閉じる curl_close($ch);
【受信側】(recieveinfo.php)
$response=$_POST['response']; $flg=setcookie("cookie", $response, time() + 60 * 60 * 24 * 30,"/");
これで受信側であるrecieveinfo.phpにおいて変数$responseには送信した「送信データ」が受信されていますし、setcookie関数の戻り値である$flgにはtrueが返ります。
しかし、setcookie関数で指定した「cookie」というクッキーはどこに記録されているのかわかりません。
サイトは送信側も受信側もWordPressサイトです。
しかし、受信側のrecieveinfo.phpはページのテンプレートファイルにはなっていません。
私の期待としてはsetcookieの第3引数で"/"を指定しているのでrecieveinfo.phpと同一のフォルダにあるpage-***.phpというテンプレートファイルに紐づいたページを開けばクッキーが見えると思ったのですが、どうやらそうはいかないようです。
ちなみに、受信側の処理で
require_once('*****/wp-load.php'); update_option('response', $_POST['response']);
として、Wordpressのオプションにセットすることはできています。
しかし、できるだけサーバーには記録するのは避けて、クライアントのストレージであるクッキーに情報を渡したいのです。
どなたか、私のコードの問題点をご教示いただけると幸いです。
