我有一個php窗體,其中有一個複選框選項,如果用戶選擇「其他」,則出現文本輸入。這很好,但數據沒有提交。 IM流汗錯誤消息PHP破滅():傳遞PHP implode():傳遞的參數無效
這裏無效參數是:
PHP驗證
if(!isset($_POST['competitor_model'])){
echo '<p><font color="red" size="+1">• Please select at least one competitor model</font></p>';
} else {
$compmodel = implode(',', $_POST['competitor_model']);
}
這裏是JS/HTML形式
<script type="text/javascript">
var temp = '';
function disableTxt() {
var field = document.getElementById("other");
if(field.value != '') {
temp = field.value;
}
field.style.display = "none";
field.value = '';
}
function enableTxt() {
document.getElementById("other").style.display = "inline";
document.getElementById("other").value = temp;
}
</script>
<input type="checkbox" value="BMW 3-series" onchange="disableTxt()" name='competitor_model[]'>BMW 3-series<br>
<input type="checkbox" value="Mercedes Benz C-class" onchange="disableTxt()" name='competitor_model[]'>Mercedes Benz C-class<br>
<input type="checkbox" value="Lexus IS" onchange="disableTxt()" name='competitor_model[]'>Lexus IS<br>
<input type="checkbox" value="Audi A4" onchange="disableTxt()" name='competitor_model[]'>Audi A4<br>
<input type="checkbox" value="Other" onchange="enableTxt(Number)" name='competitor_model[]'>Other <em>If yes please submit model</em>
<input type="text" name="competitor_model[]" id="other" style="display:none;" value="<?php if (isset($_POST['competitor_model'])) echo $_POST['competitor_model']; ?>"/>
你不應該使用'competitor_model [ ]輸入文字。此外,''標籤已棄用多年。改用CSS。最後,在使用'implode()之前,你至少應該在PHP中檢查'is_array()'' – Raptor
錯誤似乎很清楚 –
'$ _POST ['competitor_model']'必須是一個數組。試試'var_dump($ _ POST ['competitor_model'])'並確認? – camelCase