2012-05-28 24 views
0

我試圖在傳遞一個文本值字段爲所選的每個複選框,接下來的頁面,但我只獲得最後文本字段的值,例如:通過複選框和文本字段值

checkbox textfield 
selected ABCD 
selected ABCDE 

我每次只取回了ABCDE

page1.php中

echo "<td width='10px'><input name='question[$rowid][]' type='checkbox' value='1' /></td>"; 
echo "<td width='230px'><input name='newname' type='text' value='$certn'/></td>"; 

使page2.php

foreach ($_POST['question'] as $key => $ans) { 
$nn = $_POST['newname']; 
echo $key . $nn; 
echo "</br>"; 
} 

幫助將不勝感激

回答

2

要弄清楚你在做什麼有點難,但我認爲你的陳述I'm only getting the last text fields value表明你的問題 - 你有多個同名的字段。如果你這樣做並且不把它們組成一個數組([]),你將只能得到頁面上的最後一個值。

我想你想要更多的東西是這樣的:

第1頁:

echo "<td width='10px'><input name='question[$rowid]' type='checkbox' value='1' /></td>"; 
echo "<td width='230px'><input name='newname[$rowid]' type='text' value='$certn'/></td>"; 

第2頁:

foreach ($_POST['question'] as $key => $ans) { 
    // $_POST['newname'] is now also an array, and the keys should correspond to 
    // those in the $_POST['question'] array 
    $nn = $_POST['newname'][$key]; 
    echo $key . $nn; 
    echo "</br>"; 
} 
0

線:

echo "<td width='10px'><input name='question[$rowid][]' type='checkbox' value='1' /></td>"; 

將不會被正確地解釋。您必須將其更改爲:

echo "<td width='10px'><input name='" . $question[$rowid][] . "' type='checkbox' value='1' /></td>"; 

數組在字符串中不會被替換。

+0

首先,是的,他們是在某些情況下(和上面是一個),第二,他將HTML字段命名爲不放置PHP值,第三,即使他是p在其中指定一個值時,'[]'表示一個隱式數組推送,它是一個賦值操作,並且在串聯中使用它是沒有意義的,它只是表達式的左側。 – DaveRandom

相關問題