teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

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

2017/08/14 12:47

投稿

testcase
testcase

スコア18

title CHANGED
File without changes
body CHANGED
@@ -104,4 +104,21 @@
104
104
  ["_ga"]=>string() "GA..."
105
105
  ["_octo"]=>string() "GH..." }
106
106
  のようにクロスドメインのパラメータとCookieのパラメータでしょうか、
107
- そのあたりが付加されるくらいですね。
107
+ そのあたりが付加されるくらいですね。
108
+
109
+ (自己解決1)
110
+ (問題点2)のPCとスマートフォンとの表示の違いについては自己解決しました。
111
+ 原因は文字コードに起因してました。
112
+ そこでフォームのあるページ側でのフォームの出力の文字コードを固定して、
113
+ 必要に応じてアレンジしたら上手くいきました。
114
+
115
+ (問題点1)のグラフ描画のjavascriptライブラリの方ですが、
116
+ こちらについてはまだです。
117
+ どうやら、インクルードするライブラリの順番とか、
118
+ 文脈にかなり依存しているようです。
119
+ (ライブラリの順番については先にjQueryからというのは最初からしてました。)
120
+
121
+ というわけで、これはもう地道に確認するしかないなということで、
122
+ こちらについては継続してやってみます。
123
+
124
+ お二方をはじめお考えいただいた皆様、どうもありがとうございました。

3

リクエストパラメータ

2017/08/14 12:47

投稿

testcase
testcase

スコア18

title CHANGED
File without changes
body CHANGED
@@ -92,4 +92,16 @@
92
92
  $count = (int)($count + 1);
93
93
  とかもしていますが、
94
94
  echo $countの結果は同じでPCでは正しい件数、
95
- スマートフォンでは0件です。
95
+ スマートフォンでは0件です。
96
+
97
+ (補足3)
98
+ PCとスマートフォンも基本的には同じです。
99
+ 例えばPCでは、
100
+ array(1){["word"]=>string(9) "夏祭り"}
101
+ のように普通にpostされる値がまとめられています。
102
+ スマートフォンの場合ですと、
103
+ array(3){["word"]=>string(9) "夏祭り"
104
+ ["_ga"]=>string() "GA..."
105
+ ["_octo"]=>string() "GH..." }
106
+ のようにクロスドメインのパラメータとCookieのパラメータでしょうか、
107
+ そのあたりが付加されるくらいですね。

2

WebAPIの具体例

2017/08/10 15:13

投稿

testcase
testcase

スコア18

title CHANGED
File without changes
body CHANGED
@@ -57,4 +57,39 @@
57
57
 
58
58
  すなわちFORMとの連携の有無で結果が変わるということです。
59
59
 
60
- JSでのエラーメッセージは出ていないようです。
60
+ JSでのエラーメッセージは出ていないようです。
61
+
62
+ (補足2)
63
+ こんな感じです。
64
+ 例えばTwitterですと、
65
+
66
+ $req = $connection->OAuthRequest('https://api.twitter.com/1.1/search/tweets.json', 'GET',
67
+ array(
68
+ 'count'=>$num,
69
+ 'lang' => 'ja',
70
+ 'q' => $word1
71
+ ));
72
+
73
+ $tweets = json_decode($req);
74
+ $tw1 = $tweets->statuses;
75
+ foreach ($tw1 as $val) {
76
+ ....
77
+ $count++;
78
+ ....
79
+ }
80
+ echo $count;
81
+
82
+ のように、個々の検索結果毎にforeachでカウンタ変数回して
83
+ 検索件数を表示しているのですが、
84
+ これがPCは上手くいくけど、スマートフォンでは初期値のままということです。
85
+
86
+ 念のために、
87
+
88
+ $count = 0;
89
+ $count =(int)$count;
90
+ して、
91
+ foreach内で
92
+ $count = (int)($count + 1);
93
+ とかもしていますが、
94
+ echo $countの結果は同じでPCでは正しい件数、
95
+ スマートフォンでは0件です。

1

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

2017/08/10 07:59

投稿

testcase
testcase

スコア18

title CHANGED
File without changes
body CHANGED
@@ -26,4 +26,35 @@
26
26
 
27
27
  このようなご経験をなさった方がいらっしゃいましたらご教授いただけないでしょうか?
28
28
  よろしくお願いします。
29
- ちなみに、これまでに(int)のキャストはできる限りしています。(配列は入力時の際にはしています。)
29
+ ちなみに、これまでに(int)のキャストはできる限りしています。(配列は入力時の際にはしています。)
30
+
31
+ (補足1)
32
+ 言葉足らずで申し訳ありません。具体的には例えばPOSTで
33
+
34
+ $word = $_POST['word'];
35
+
36
+ として,何かを検索して
37
+ その検索結果を
38
+
39
+ $string = json_decode($respose);
40
+
41
+ のようにjson_decodeしてforeachで回しているのですが、
42
+ foreach (....) {
43
+
44
+ このforeach内で$countのようなカウンタ変数を使って件数を数えています。
45
+ この状態ですとPCでは正しく表示できていますが、スマートフォンでは0になってしまいます。
46
+
47
+ ところが、FORMのページとの連携をやめて
48
+
49
+ $word = $_POST['word'];
50
+
51
+ のかわりに、
52
+
53
+ $word = '夏休み';
54
+
55
+ のようにすると、検索件数はPCとスマートフォン共に正しく表示されますし、
56
+ グラフ表示もなされるという意味です。
57
+
58
+ すなわちFORMとの連携の有無で結果が変わるということです。
59
+
60
+ JSでのエラーメッセージは出ていないようです。