質問編集履歴

4

自己解決 フォームでの文字コードの指定

2017/08/14 12:47

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
@@ -211,3 +211,37 @@
211
211
  のようにクロスドメインのパラメータとCookieのパラメータでしょうか、
212
212
 
213
213
  そのあたりが付加されるくらいですね。
214
+
215
+
216
+
217
+ (自己解決1)
218
+
219
+ (問題点2)のPCとスマートフォンとの表示の違いについては自己解決しました。
220
+
221
+ 原因は文字コードに起因してました。
222
+
223
+ そこでフォームのあるページ側でのフォームの出力の文字コードを固定して、
224
+
225
+ 必要に応じてアレンジしたら上手くいきました。
226
+
227
+
228
+
229
+ (問題点1)のグラフ描画のjavascriptライブラリの方ですが、
230
+
231
+ こちらについてはまだです。
232
+
233
+ どうやら、インクルードするライブラリの順番とか、
234
+
235
+ 文脈にかなり依存しているようです。
236
+
237
+ (ライブラリの順番については先にjQueryからというのは最初からしてました。)
238
+
239
+
240
+
241
+ というわけで、これはもう地道に確認するしかないなということで、
242
+
243
+ こちらについては継続してやってみます。
244
+
245
+
246
+
247
+ お二方をはじめお考えいただいた皆様、どうもありがとうございました。

3

リクエストパラメータ

2017/08/14 12:47

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
@@ -187,3 +187,27 @@
187
187
  echo $countの結果は同じでPCでは正しい件数、
188
188
 
189
189
  スマートフォンでは0件です。
190
+
191
+
192
+
193
+ (補足3)
194
+
195
+ PCとスマートフォンも基本的には同じです。
196
+
197
+ 例えばPCでは、
198
+
199
+ array(1){["word"]=>string(9) "夏祭り"}
200
+
201
+ のように普通にpostされる値がまとめられています。
202
+
203
+ スマートフォンの場合ですと、
204
+
205
+ array(3){["word"]=>string(9) "夏祭り"
206
+
207
+ ["_ga"]=>string() "GA..."
208
+
209
+ ["_octo"]=>string() "GH..." }
210
+
211
+ のようにクロスドメインのパラメータとCookieのパラメータでしょうか、
212
+
213
+ そのあたりが付加されるくらいですね。

2

WebAPIの具体例

2017/08/10 15:13

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
@@ -117,3 +117,73 @@
117
117
 
118
118
 
119
119
  JSでのエラーメッセージは出ていないようです。
120
+
121
+
122
+
123
+ (補足2)
124
+
125
+ こんな感じです。
126
+
127
+ 例えばTwitterですと、
128
+
129
+
130
+
131
+ $req = $connection->OAuthRequest('https://api.twitter.com/1.1/search/tweets.json', 'GET',
132
+
133
+ array(
134
+
135
+ 'count'=>$num,
136
+
137
+ 'lang' => 'ja',
138
+
139
+ 'q' => $word1
140
+
141
+ ));
142
+
143
+
144
+
145
+ $tweets = json_decode($req);
146
+
147
+ $tw1 = $tweets->statuses;
148
+
149
+ foreach ($tw1 as $val) {
150
+
151
+ ....
152
+
153
+ $count++;
154
+
155
+ ....
156
+
157
+ }
158
+
159
+ echo $count;
160
+
161
+
162
+
163
+ のように、個々の検索結果毎にforeachでカウンタ変数回して
164
+
165
+ 検索件数を表示しているのですが、
166
+
167
+ これがPCは上手くいくけど、スマートフォンでは初期値のままということです。
168
+
169
+
170
+
171
+ 念のために、
172
+
173
+
174
+
175
+ $count = 0;
176
+
177
+ $count =(int)$count;
178
+
179
+ して、
180
+
181
+ foreach内で
182
+
183
+ $count = (int)($count + 1);
184
+
185
+ とかもしていますが、
186
+
187
+ echo $countの結果は同じでPCでは正しい件数、
188
+
189
+ スマートフォンでは0件です。

1

FORMの有無でカウンタ変数の表示内容やグラフ表示の有無が生じるような現象が起こっています。

2017/08/10 07:59

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,65 @@
55
55
  よろしくお願いします。
56
56
 
57
57
  ちなみに、これまでに(int)のキャストはできる限りしています。(配列は入力時の際にはしています。)
58
+
59
+
60
+
61
+ (補足1)
62
+
63
+ 言葉足らずで申し訳ありません。具体的には例えばPOSTで
64
+
65
+
66
+
67
+ $word = $_POST['word'];
68
+
69
+
70
+
71
+ として,何かを検索して
72
+
73
+ その検索結果を
74
+
75
+
76
+
77
+ $string = json_decode($respose);
78
+
79
+
80
+
81
+ のようにjson_decodeしてforeachで回しているのですが、
82
+
83
+ foreach (....) {
84
+
85
+
86
+
87
+ このforeach内で$countのようなカウンタ変数を使って件数を数えています。
88
+
89
+ この状態ですとPCでは正しく表示できていますが、スマートフォンでは0になってしまいます。
90
+
91
+
92
+
93
+ ところが、FORMのページとの連携をやめて
94
+
95
+
96
+
97
+ $word = $_POST['word'];
98
+
99
+
100
+
101
+ のかわりに、
102
+
103
+
104
+
105
+ $word = '夏休み';
106
+
107
+
108
+
109
+ のようにすると、検索件数はPCとスマートフォン共に正しく表示されますし、
110
+
111
+ グラフ表示もなされるという意味です。
112
+
113
+
114
+
115
+ すなわちFORMとの連携の有無で結果が変わるということです。
116
+
117
+
118
+
119
+ JSでのエラーメッセージは出ていないようです。