我有一個錯誤,我不知道...
我的網頁有一種形式,用戶有能力添加一些新的輸入字段。如果用戶提交表單,那麼在php文件交付時可選字段爲空,爲什麼?
HTML:
<form method="post" action="newRequest.php">
<input type="text" name="title" />
<input type="hidden" name="fname" value="0" />
<input type="checkbox" name="fname" value="1"/>
<input type="hidden" name="ename" value="0" />
<input type="checkbox" name="ename" value="1" />
<input type="hidden" name="seat" value="0" />
<input type="checkbox" name="seat" value="1" />
<input type="hidden" name="fields" value="0" />
<input type="text" id="fields" name="fields" />
<input type="submit" />
</form>
PHP:
if (strlen($_POST[title]) > 2) {
$toDb[title] = $_POST[title];
} else {
error('title');
}
$toDb[fname] = $_POST[fname];
$toDb[ename] = $_POST[ename];
$toDb[seat] = $_POST[seat];
if ($_POST[fields] > 0) {
$i = 0;
while ($i < $_POST[fields]) {
$toDb[optional][$i] = $_POST[optional-$i];
$i++;
}
$toDb[optional] = serialize($toDb[optional]);
} else {
$toDb[optional] = 0;
}
newEvent($toDb,$dbh);
JQuery的,它是將動力場:
$(document).ready(function() {
$('#fields').focusout(function(){
var fields = $('#fields').val();
var i = 0;
while(i < fields) {
$('#fields').after("Valfritt fält "+(i+1)+":<input type='text' name='optional"+i+"' />");
i++;
}
})
})
這是你如何使用散列數組:'$ foo [「bar」] = $ _POST [「bar」];',應該引用字符串索引。 – HamZa 2013-03-20 13:33:19
所有的字段名稱都有重複;當第一個被PHP解析時,第一個被第二個覆蓋。 – 2013-03-20 13:34:56
重複是因爲第一個是設置一個默認值發送到PHP,如果用戶離開字段爲空。 – theva 2013-03-20 13:37:33