質問編集履歴

6

旧文書削除

2019/01/08 05:55

投稿

Neko_doshi
Neko_doshi

スコア214

test CHANGED
File without changes
test CHANGED
@@ -44,9 +44,9 @@
44
44
 
45
45
  ### 全体の流れ
46
46
 
47
- 1. a.phpからAPI_1へリクエストを投げる
47
+ 1. a.phpからAPI_1へリクエストを投げる(GET)
48
48
 
49
- 2. API_1で処理が完了した後に、その結果をb.phpに通知する
49
+ 2. API_1で処理が完了した後に、その結果をb.phpに通知する(POST)
50
50
 
51
51
  3. API_1はそのままc.phpにリダイレクトする
52
52
 
@@ -66,50 +66,6 @@
66
66
 
67
67
 
68
68
 
69
-
70
-
71
-
72
-
73
- ##### ******↓旧文書******
74
-
75
-
76
-
77
-
78
-
79
- こんにちわ、PHP初学者で現在業務上PHPのルール?仕組み?で困っております。
80
-
81
- 知見をお貸しいただければと思い投稿いたしました。
82
-
83
-
84
-
85
- ### 状況
86
-
87
- 1. "a.php"から"API_1"に対してGET【リクエスト】する。 その際GETのパラメータで"API_1"のリダイレクト先("c.php")を定義して渡す
88
-
89
- 1. リクエストに対し"API_1"は"b.php"に対して【レスポンス】をCallbackでPOST【通知】する。
90
-
91
- 1. その後項番1で定義したリダイレクト先("c.php")へとリダイレクトする
92
-
93
- 1. "c.php"では項番2で"b.php"に返されたレスポンスのデータを利用する
94
-
95
-
96
-
97
- という流れの中で、b.phpへ返されたレスポンスをc.phpで利用したいのですが【通知】という処理が具体的にどのような処理なのかがわからず困っております。
98
-
99
- ググってもPush通知などの記述は出てくるのですが、通知という機能?そのものがどうこうという記述がないため相談させていただきました。
100
-
101
-
102
-
103
- ### 試したこと
104
-
105
- b.phpにてsession,cookieなどに値を格納してみましたがc.phpにリダイレクトした時点ではどちらも残っていませんでした(というよりそもそもb.phpはCallbackで呼び出されるだけなのでセッションもcookieも画面外の行為なので残らないのは当然だと思うのですが)
106
-
107
-
108
-
109
- APIの配布元にお伺いを立てると実装はお客様の環境に合わせて、と帰ってきたのですが、【通知】というアクションが具体的にどう動作して同データをハンドリングするのかがわからないため、困っております。
110
-
111
-
112
-
113
69
  PHPのversionは7.2.13です。
114
70
 
115
71
  お力添えをいただければと存じます。

5

コード一部修正

2019/01/08 05:55

投稿

Neko_doshi
Neko_doshi

スコア214

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  $param = 'closeurl="https://hoge.com/c.php"' //リダイレクト先
26
26
 
27
- $url = 'https://hoge.com/api/?' . base64_encode($param);
27
+ $url = 'https://hoge.com/api/?' . base64_encode($param); //API_1
28
28
 
29
29
  header("Location:" . $url);
30
30
 

4

質問文修正しました

2019/01/08 04:23

投稿

Neko_doshi
Neko_doshi

スコア214

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### 関連ファイル
16
16
 
17
- a.php CTAを含む呼び出し元
17
+ a.php 呼び出し元
18
18
 
19
19
 
20
20
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  <?
24
24
 
25
- $param = 'closeurl="https://hoge.com/api/closing"' //リダイレクト先
25
+ $param = 'closeurl="https://hoge.com/c.php"' //リダイレクト先
26
26
 
27
27
  $url = 'https://hoge.com/api/?' . base64_encode($param);
28
28
 

3

一部コード記入

2019/01/08 04:22

投稿

Neko_doshi
Neko_doshi

スコア214

test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,24 @@
15
15
  ### 関連ファイル
16
16
 
17
17
  a.php CTAを含む呼び出し元
18
+
19
+
20
+
21
+ ```php
22
+
23
+ <?
24
+
25
+ $param = 'closeurl="https://hoge.com/api/closing"' //リダイレクト先
26
+
27
+ $url = 'https://hoge.com/api/?' . base64_encode($param);
28
+
29
+ header("Location:" . $url);
30
+
31
+ exit();
32
+
33
+ ?>
34
+
35
+ ```
18
36
 
19
37
  b.php データの通知先
20
38
 

2

質問内容を修正しました

2019/01/08 04:19

投稿

Neko_doshi
Neko_doshi

スコア214

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,63 @@
1
+ 【追記 13:00】
2
+
3
+ 質問内容がわかりにくいと合ったため修正しました。
4
+
5
+
6
+
7
+ ### 知りたいこと
8
+
9
+ APIがデータを通知するページ(callback)と、リダイレクト先のURLを別々に設定している場合、
10
+
11
+ リダイレクト先で別のURLに通知されたデータを取得するためにはどのようにすればよろしいでしょうか。
12
+
13
+
14
+
15
+ ### 関連ファイル
16
+
17
+ a.php CTAを含む呼び出し元
18
+
19
+ b.php データの通知先
20
+
21
+ c.php リダイレクト先かつ次のAPIを叩くための関数群があるファイル
22
+
23
+ API_1 客先のAPI(名称は公開できません、すみません)
24
+
25
+
26
+
27
+ ### 全体の流れ
28
+
29
+ 1. a.phpからAPI_1へリクエストを投げる
30
+
31
+ 2. API_1で処理が完了した後に、その結果をb.phpに通知する
32
+
33
+ 3. API_1はそのままc.phpにリダイレクトする
34
+
35
+ 4. c.phpはb.phpに通知されたデータを利用して別のAPIにリクエストを投げたいが、b.phpとc.phpのデータの連携ができない**←いまここ**
36
+
37
+
38
+
39
+ ### やってみたこと
40
+
41
+ b.phpにてsessionやcookieをsetしてもだめでした
42
+
43
+
44
+
45
+ ### やってみたいこと
46
+
47
+ b.phpにて(もし仮に)jsonpのように関数ごと引き取ってくれるのであれば、b.phpにCallback用の関数を設置したいが、そもそも通知という処理がどのような処理を指しており、c.php側でb.phpのCallback関数を受け取るのかがわからない。
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+ ##### ******↓旧文書******
56
+
57
+
58
+
59
+
60
+
1
61
  こんにちわ、PHP初学者で現在業務上PHPのルール?仕組み?で困っております。
2
62
 
3
63
  知見をお貸しいただければと思い投稿いたしました。

1

マークダウン修正

2019/01/08 04:13

投稿

Neko_doshi
Neko_doshi

スコア214

test CHANGED
File without changes
test CHANGED
@@ -6,13 +6,13 @@
6
6
 
7
7
  ### 状況
8
8
 
9
- 1. "a.php"から"API_1"に対してGET【リクエスト】する。 その際GETのパラメータで"API_1"のリダイレクト先("c.php")を定義して渡す
9
+ 1. "a.php"から"API_1"に対してGET【リクエスト】する。 その際GETのパラメータで"API_1"のリダイレクト先("c.php")を定義して渡す
10
10
 
11
- 2. リクエストに対し"API_1"は"b.php"に対して【レスポンス】をCallbackでPOST【通知】する。
11
+ 1. リクエストに対し"API_1"は"b.php"に対して【レスポンス】をCallbackでPOST【通知】する。
12
12
 
13
- 3. その後項番1で定義したリダイレクト先("c.php")へとリダイレクトする
13
+ 1. その後項番1で定義したリダイレクト先("c.php")へとリダイレクトする
14
14
 
15
- 4. "c.php"では項番2で"b.php"に返されたレスポンスのデータを利用する
15
+ 1. "c.php"では項番2で"b.php"に返されたレスポンスのデータを利用する
16
16
 
17
17
 
18
18