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

回答編集履歴

5

加筆修正

2019/03/19 07:44

投稿

退会済みユーザー
answer CHANGED
@@ -36,4 +36,16 @@
36
36
  location.href = "./";
37
37
  },
38
38
  ```
39
- とか。
39
+ とか。
40
+
41
+ それと、直接の原因ではないけど、
42
+ ```
43
+ $mailarea = htmlspecialchars($_POST['mailarea'], ENT_QUOTES);
44
+ $namearea = htmlspecialchars($_POST['namearea'], ENT_QUOTES);
45
+ $textboxarea = htmlspecialchars($_POST['textboxarea'], ENT_QUOTES);
46
+ ```
47
+ htmlspecialchars()はweb表示用に文字化けが生じないように加工する関数なので、
48
+ メール送信やデータベース保存用には使うべきではないです。
49
+
50
+ [「何故htmlspecialcharsを通すのか?」を一言でどうぞ - Qiita](https://qiita.com/mpyw/items/19e6fed835ccdbcb0d6d)
51
+ [PHP で h() を書くなら一緒に echo しよう。 - こせきの技術日記](http://koseki.hatenablog.com/entry/20120216/htmlspecialhonyarara)

4

加筆修正

2019/03/19 07:44

投稿

退会済みユーザー
answer CHANGED
@@ -22,4 +22,18 @@
22
22
 
23
23
  [PHPでJSONを返すだけのAPIを実装する - Qiita](https://qiita.com/trewa-nek9585/items/ebea22c7ac7ae0056b1f)
24
24
 
25
- 単発データであっても、array()に詰めてから返すと良さげ。
25
+ 単発データであっても、array()に詰めてから返すと良さげ。
26
+ ```
27
+ header('Content-type: application/json');
28
+ echo json_encode([ "result" => "送信が完了しました!" ]);
29
+ ```
30
+
31
+ ```
32
+ success:function(data) {
33
+
34
+ alert(data['result']);
35
+
36
+ location.href = "./";
37
+ },
38
+ ```
39
+ とか。

3

見直し

2019/03/19 07:41

投稿

退会済みユーザー
answer CHANGED
@@ -3,7 +3,23 @@
3
3
 
4
4
  ---
5
5
 
6
- `$(".submitarea").click(function(){`
6
+ ~~`$(".submitarea").click(function(){`~~
7
- の内側で定義している変数が、ここを抜けると揮発してなくなってしまうために、
7
+ ~~の内側で定義している変数が、ここを抜けると揮発してなくなってしまうために、~~
8
- `$(".sendBtnArea").click(function(){`のブロック内では未定義となっていると思われます。
8
+ ~~`$(".sendBtnArea").click(function(){`のブロック内では未定義となっていると思われます。~~
9
- `$(".submitarea").click(function(){`のブロックの外側で変数を宣言すれば良いかと。
9
+ ~~`$(".submitarea").click(function(){`のブロックの外側で変数を宣言すれば良いかと。~~
10
+ コレも違う。撤回します。
11
+
12
+ ---
13
+
14
+ jsonにして返答を送信する場面で、
15
+ ```
16
+ header('Content-type: application/json');
17
+ echo json_encode( "送信が完了しました!" );
18
+ ```
19
+ は乱暴なんじゃないかな。
20
+ 例えば返答するデータを配列にでも詰めてからjson_encode()して、
21
+ 受け取るjs側で配列からキーを指定して結果を受け取ればよいかと。
22
+
23
+ [PHPでJSONを返すだけのAPIを実装する - Qiita](https://qiita.com/trewa-nek9585/items/ebea22c7ac7ae0056b1f)
24
+
25
+ 単発データであっても、array()に詰めてから返すと良さげ。

2

見直し

2019/03/19 07:38

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,9 @@
1
1
  ~~input要素で指定しているnameと、POST受診時のものが、合っていません。~~
2
- jQueryで揉んでいる箇所を見ていませんでした。一旦撤回します。
2
+ jQueryで揉んでいる箇所を見ていませんでした。一旦撤回します。
3
+
4
+ ---
5
+
6
+ `$(".submitarea").click(function(){`
7
+ の内側で定義している変数が、ここを抜けると揮発してなくなってしまうために、
8
+ `$(".sendBtnArea").click(function(){`のブロック内では未定義となっていると思われます。
9
+ `$(".submitarea").click(function(){`のブロックの外側で変数を宣言すれば良いかと。

1

見直し

2019/03/19 07:22

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,2 @@
1
- input要素で指定しているnameと、POST受診時のものが、合っていません。
1
+ ~~input要素で指定しているnameと、POST受診時のものが、合っていません。~~
2
+ jQueryで揉んでいる箇所を見ていませんでした。一旦撤回します。