回答編集履歴

5

加筆修正

2019/05/27 05:19

投稿

退会済みユーザー
test CHANGED
@@ -45,3 +45,11 @@
45
45
  jsやjQueryでなにかやるのかやらないのか、
46
46
 
47
47
  フォーム受信したあとになにかやるのかやらないのか次第。
48
+
49
+
50
+
51
+ 例えばこんなミニマルなコードを書きました:
52
+
53
+ ![イメージ説明](b16e965a6f950277318f34a29807ca0c.png)
54
+
55
+ これで配列は直接echoできないってわかるんだけどね。

4

htmlspecialcharsを足してみた

2019/05/27 05:19

投稿

退会済みユーザー
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```php
14
14
 
15
- <input type="hidden" name="test" value="<?=implode(',', $arr)?>">
15
+ <input type="hidden" name="test" value="<?=htmlspecialchars(implode(',', $arr), ENT_COMPAT | ENT_HTML401, 'UTF-8')?>">
16
16
 
17
17
  ```
18
18
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  foreach ($arr as $val) {
26
26
 
27
- ?><input type="hidden" name="test[]" value="<?=$val?>">
27
+ ?><input type="hidden" name="test[]" value="<?=htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8')?>">
28
28
 
29
29
  <?php
30
30
 

3

見直し

2019/05/27 05:08

投稿

退会済みユーザー
test CHANGED
@@ -10,13 +10,21 @@
10
10
 
11
11
 
12
12
 
13
+ ```php
14
+
15
+ <input type="hidden" name="test" value="<?=implode(',', $arr)?>">
16
+
17
+ ```
18
+
19
+
20
+
13
21
  あるいは
14
22
 
15
23
  ```php
16
24
 
17
25
  foreach ($arr as $val) {
18
26
 
19
- ?><input type="hidden[]" name="test" value="<?=$val?>">
27
+ ?><input type="hidden" name="test[]" value="<?=$val?>">
20
28
 
21
29
  <?php
22
30
 
@@ -24,16 +32,16 @@
24
32
 
25
33
  ```
26
34
 
27
- なら、name[]って名前で複数input要素が出力されたり。
35
+ なら、test[]って名前で複数input要素が出力されたり。
28
36
 
29
- name[]としたのは、フォームを受信するときに配列として受け取りたい場合を想定して。)
37
+ test[]としたのは、フォームを受信するときに配列として受け取りたい場合を想定して。)
30
-
31
-
32
-
33
- お好きな方で。
34
38
 
35
39
 
36
40
 
37
41
  ただし、フォーム上でそのhidden値をどう活用するかによって、
38
42
 
39
43
  より最適な方法があるはず。
44
+
45
+ jsやjQueryでなにかやるのかやらないのか、
46
+
47
+ フォーム受信したあとになにかやるのかやらないのか次第。

2

見直し

2019/05/27 05:04

投稿

退会済みユーザー
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  foreach ($arr as $val) {
18
18
 
19
- ?><input type="hidden" name="test" value="<?=$val?>">
19
+ ?><input type="hidden[]" name="test" value="<?=$val?>">
20
20
 
21
21
  <?php
22
22
 
@@ -24,7 +24,9 @@
24
24
 
25
25
  ```
26
26
 
27
- なら、nameって名前で複数input要素が出力されたり。
27
+ なら、name[]って名前で複数input要素が出力されたり。
28
+
29
+ (name[]としたのは、フォームを受信するときに配列として受け取りたい場合を想定して。)
28
30
 
29
31
 
30
32
 

1

見直し

2019/05/27 05:02

投稿

退会済みユーザー
test CHANGED
@@ -7,3 +7,31 @@
7
7
  [PHP: implode - Manual](https://www.php.net/manual/ja/function.implode.php)
8
8
 
9
9
  をつかって文字列に連結してしまいましょう。
10
+
11
+
12
+
13
+ あるいは
14
+
15
+ ```php
16
+
17
+ foreach ($arr as $val) {
18
+
19
+ ?><input type="hidden" name="test" value="<?=$val?>">
20
+
21
+ <?php
22
+
23
+ }
24
+
25
+ ```
26
+
27
+ なら、nameって名前で複数input要素が出力されたり。
28
+
29
+
30
+
31
+ お好きな方で。
32
+
33
+
34
+
35
+ ただし、フォーム上でそのhidden値をどう活用するかによって、
36
+
37
+ より最適な方法があるはず。