回答編集履歴
5
加筆修正
answer
CHANGED
@@ -21,4 +21,8 @@
|
|
21
21
|
ただし、フォーム上でそのhidden値をどう活用するかによって、
|
22
22
|
より最適な方法があるはず。
|
23
23
|
jsやjQueryでなにかやるのかやらないのか、
|
24
|
-
フォーム受信したあとになにかやるのかやらないのか次第。
|
24
|
+
フォーム受信したあとになにかやるのかやらないのか次第。
|
25
|
+
|
26
|
+
例えばこんなミニマルなコードを書きました:
|
27
|
+

|
28
|
+
これで配列は直接echoできないってわかるんだけどね。
|
4
htmlspecialcharsを足してみた
answer
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
をつかって文字列に連結してしまいましょう。
|
6
6
|
|
7
7
|
```php
|
8
|
-
<input type="hidden" name="test" value="<?=implode(',', $arr)?>">
|
8
|
+
<input type="hidden" name="test" value="<?=htmlspecialchars(implode(',', $arr), ENT_COMPAT | ENT_HTML401, 'UTF-8')?>">
|
9
9
|
```
|
10
10
|
|
11
11
|
あるいは
|
12
12
|
```php
|
13
13
|
foreach ($arr as $val) {
|
14
|
-
?><input type="hidden" name="test[]" value="<?=$val?>">
|
14
|
+
?><input type="hidden" name="test[]" value="<?=htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8')?>">
|
15
15
|
<?php
|
16
16
|
}
|
17
17
|
```
|
3
見直し
answer
CHANGED
@@ -4,17 +4,21 @@
|
|
4
4
|
[PHP: implode - Manual](https://www.php.net/manual/ja/function.implode.php)
|
5
5
|
をつかって文字列に連結してしまいましょう。
|
6
6
|
|
7
|
+
```php
|
8
|
+
<input type="hidden" name="test" value="<?=implode(',', $arr)?>">
|
9
|
+
```
|
10
|
+
|
7
11
|
あるいは
|
8
12
|
```php
|
9
13
|
foreach ($arr as $val) {
|
10
|
-
?><input type="hidden
|
14
|
+
?><input type="hidden" name="test[]" value="<?=$val?>">
|
11
15
|
<?php
|
12
16
|
}
|
13
17
|
```
|
14
|
-
なら、
|
18
|
+
なら、test[]って名前で複数input要素が出力されたり。
|
15
|
-
(
|
19
|
+
(test[]としたのは、フォームを受信するときに配列として受け取りたい場合を想定して。)
|
16
20
|
|
17
|
-
お好きな方で。
|
18
|
-
|
19
21
|
ただし、フォーム上でそのhidden値をどう活用するかによって、
|
20
|
-
より最適な方法があるはず。
|
22
|
+
より最適な方法があるはず。
|
23
|
+
jsやjQueryでなにかやるのかやらないのか、
|
24
|
+
フォーム受信したあとになにかやるのかやらないのか次第。
|
2
見直し
answer
CHANGED
@@ -7,11 +7,12 @@
|
|
7
7
|
あるいは
|
8
8
|
```php
|
9
9
|
foreach ($arr as $val) {
|
10
|
-
?><input type="hidden" name="test" value="<?=$val?>">
|
10
|
+
?><input type="hidden[]" name="test" value="<?=$val?>">
|
11
11
|
<?php
|
12
12
|
}
|
13
13
|
```
|
14
|
-
なら、nameって名前で複数input要素が出力されたり。
|
14
|
+
なら、name[]って名前で複数input要素が出力されたり。
|
15
|
+
(name[]としたのは、フォームを受信するときに配列として受け取りたい場合を想定して。)
|
15
16
|
|
16
17
|
お好きな方で。
|
17
18
|
|
1
見直し
answer
CHANGED
@@ -2,4 +2,18 @@
|
|
2
2
|
`<?=$arr?>`みたいにして出力することは出来ません。
|
3
3
|
|
4
4
|
[PHP: implode - Manual](https://www.php.net/manual/ja/function.implode.php)
|
5
|
-
をつかって文字列に連結してしまいましょう。
|
5
|
+
をつかって文字列に連結してしまいましょう。
|
6
|
+
|
7
|
+
あるいは
|
8
|
+
```php
|
9
|
+
foreach ($arr as $val) {
|
10
|
+
?><input type="hidden" name="test" value="<?=$val?>">
|
11
|
+
<?php
|
12
|
+
}
|
13
|
+
```
|
14
|
+
なら、nameって名前で複数input要素が出力されたり。
|
15
|
+
|
16
|
+
お好きな方で。
|
17
|
+
|
18
|
+
ただし、フォーム上でそのhidden値をどう活用するかによって、
|
19
|
+
より最適な方法があるはず。
|