2012-03-28 16 views
0

こんにちは、チェックボックスを1つだけ送信するフォームがありますが、これは完璧に機能しますが、2番目のチェックボックスを追加すると、 。最初のものは動作しますが、2番目のものは動作しません。複数のチェックボックスの結果がPHPでPOSTに返される

以下は私のコードですが、どんな提案も感謝します。

フォームサイド

"<input type='checkbox' name='ip[]' value='$row[ip]'/>"; 
"<input type='checkbox' name='in[]' value='$row[ip]'/>"; 

はサイド

$ip_array = isset($_POST['ip']) && is_array($_POST['ip']) ? $_POST['ip'] : array(); 
foreach($ip_array as $ip) { 

$in_array = isset($_POST['in']) && is_array($_POST['in']) ? $_POST['in'] : array(); 
foreach($in_array as $in) { 

を追加するコードの先頭部分には、チェックボックスの罰金をtocatchようだが、下の1にはありません。

+0

あなたが送信する前に、すべてのチェックボックスをチェックする必要があるが、未確認の入力がお送りdoesntの。 – safarov

+0

を送信する前にすべてのチェックボックスがオンになっていることを確認してください。ありがとうございます。両方とも設定されていますが、まだ結果がありません。 –

+0

コードをデバッグして何が起こっているか確認しましたか?理想的には、これはおそらくIDE経由で適切なデバッガ(xDebug、ZendDebuggerなど)を使用していますが、それらのツールがない場合は、var_dump($ _POST)をエコーし​​てみました。あなたがフォームを提出したときに$ _POSTの内容を確認しますか? – liquorvicar

答えて

0

チェックボックスの入力を取得するには、以下のコードを見つけてください:

<?php 
$var1 = $_POST["ip"]; 
$var2 = $_POST["in"]; 
if(is_array($var1)) 
{ 
    if(sizeof($var1) > 0) 
    { 
     foreach($var1 as $i) 
     { 
      echo $i; 
     } 
    } 
    else 
    { 
     echo "No value selected in ip"; 
    } 
} 

if(is_array($var2)) 
{ 
    if(sizeof($var2) > 0) 
    { 
     foreach($var2 as $i) 
     { 
      echo $i; 
     } 
    } 
    else 
    { 
     echo "No value selected in"; 
    } 
} 
?> 
関連する問題