[英]PHP post checkbox problem
我有一個利用復選框的表格。
<input type="checkbox" name="check[]" value="notsure"> Not Sure, Please help me determine <br /> <input type="checkbox" name="check[]" value="keyboard"> Keyboard <br /> <input type="checkbox" name="check[]" value="touchscreen"> Touch Screen Monitors <br /> <input type="checkbox" name="check[]" value="scales">Scales <br /> <input type="checkbox" name="check[]" value="wireless">Wireless Devices <br />
這是在外部php文件中處理此表單的代碼。
$addequip = implode(', ', $_POST['check']);
我一直在下面收到此錯誤;
<b>Warning</b>: implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>.../process.php</b> on line <b>53</b><br />
OK
您的復選框是否已打勾? php的$_POST
數組將僅具有已被選中的復選框
要使警告靜音,請使用以下命令:
$addequip = implode(', ', empty($_POST['check']) ? array() : $_POST['check'] );
嗨,我是發布此問題的原始用戶,我無法登錄到我的帳戶,因此是從另一個帳戶發布的。 經過幾個小時的嘗試,我以某種方式設法使其部分工作。 以下是修改后的表單html和復選框的處理代碼
<input type="checkbox" name="check" value="Touchscreen"> Touchscreen<br>
<input type="checkbox" name="check" value="Keyboard"> Keyboard<br>
<input type="checkbox" name="check" value="Scales"> Scales<br>
我必須刪除[]才能起作用。 下面也是那些想看的人的完整post方法。 它在所有其他領域都可以正常工作。
<form id="contact_form" action="process.php" method="POST" onSubmit="return processForm()">
下面是處理復選框的php代碼。 由於某種原因,我不得不告訴腳本$ _POST ['check']是一個數組,沒有它只會返回數組。 建議的所有其他方法返回無效的參數傳遞的錯誤。
$chckbox = array($_POST['check']);
if(is_array($chckbox))
{
foreach($chckbox as $addequip) {
$chckbox .="$addequip\n";
}
}
因此,此代碼有效,但無論您打勾了多少,都僅返回1個被打勾的復選框值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.