2016-07-08 55 views
-3

我有一個從$ _GET接收數組的頁面。假設它在$ _GET ['types']中有3個值,包含'good','bad'和'醜陋'。現在在這個頁面上,我設置了一個表單,並且我需要通過輸入將這個數組傳遞給表單。也許這短短的代碼可以幫助證明我正在嘗試做什麼

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

我該如何做到這一點?

+0

是的,還有......?它做什麼,它不做什麼? – deceze

+1

你想要3個輸入嗎?或者那一個輸入中的所有3個值? – Jeff

+0

這是一個非常不安全的做法,請改用filter_input。 – christian

回答

1

字符串上下文中的數組只是字面上的單詞Array。你說$_GET['types']是一個數組,所以你生成這個網站:

<input ... value="Array"> 

你應該有

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

代替。

但是請注意,您與這個網站結束:

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

,這在$ _GET服務器上,當窗體的提交:

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

如果你想這些值作爲獨立數組條目,你將不得不提交多個輸入字段:

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

哪會給你

$_GET['types'] = array(
    0 => 'foo', 
    1 => 'bar' 
    etc...