2016-07-08 17 views
-3

$ _GETから配列を受け取っているページがあります。 '良い'、 '悪い'、 '醜い'を含む$ _GET ['types']に3つの値があるとします。ここで私はフォームを設定しています。この配列を入力してフォームに渡す必要があります。たぶん、コードのこの短い作品は、私はこれを実現するにはどうすればよい

<form action="dosomething.php" method="get"> 
    <input name="types[]" value="<?php echo $_GET['types']; ?>" /> 
</form> 

をやろうとしているものを発揮することができますか?

+0

はい、...?それは何をしますか、それは何をしませんか? – deceze

+1

3つの入力が必要ですか?その1つの入力のすべての3つの値?? – Jeff

+0

これは非常に安全ではありませんが、代わりにfilter_inputを使用してください。 – christian

答えて

1

文字列コンテキスト内の配列は、単にリテラルワードArrayです。

<input ... value="Array"> 

あなたが代わりに

<input name="types[]" value="<?php echo implode(',', $_GET['types']); ?>" /> 

を持っている必要があります。そのため、あなたはこのHTMLを生成している、$_GET['types']が配列であると言います。

しかし、あなたは、このHTMLになってしまいますのでご注意:フォームのは、提出されたときに、サーバー上の

<input ... value="foo,bar,baz"> 

これで$ _GET:

$_GET['types'] = array(
    0 => 'foo,bar,baz' 
); 

をあなたはそれらの値をしたい場合はSEPARATEとして複数の入力フィールドを提出する必要があります。

<input name="types[]" value="foo"> 
<input name="types[]" value="bar"> 
etc... 

$_GET['types'] = array(
    0 => 'foo', 
    1 => 'bar' 
    etc... 
関連する問題