-1

POST メソッドで入力フォーム (チェックボックス) から複数の値を渡そうとしていますが、いくつのチェックボックスがチェックされていても、値の 1 つだけがダンプされます..何が間違っていますか?

var_dump($_POST);

結果: array(2) { ["pal_num"]=> string(1) "2" ["post"]=> string(3) "Go!" }

コード:

<?php
$l = $_POST['LT'];
$pals = '';

$r = mysql_query("SELECT DISTINCT pal_num FROM pl_tab WHERE lt_num='$l'");

while($row = mysql_fetch_assoc($r))
{
    $pals .= '<input type="checkbox" name="pal_num" value="'.$row['pal_num'].'">'.$row['pal_num'].'<br>';
}

if($pal == '')
    echo '';
else
echo '<form name="get_pal" action="post.php" method="POST">';
echo $pals;
echo '<input type="submit" name="post" value="Go!">';
echo '</form>';
?>
4

3 に答える 3

2

配列を投稿する必要があります(の後の角括弧に注意してくださいpal_num

$pals .= '<input type="checkbox" name="pal_num[]" value="'.$row['pal_num'].'">'.$row['pal_num'].'<br>';

また、if構造が正しくありません。括弧を使用する必要があります。

if($pal == '') {
    echo '';
} else {
    echo '<form name="get_pal" action="post.php" method="POST">';
    echo $pals;
    echo '<input type="submit" name="post" value="Go!">';
    echo '</form>';
}
于 2013-08-26T09:56:54.440 に答える
0
<?php
var_dump($_POST)
array(2) { ["pal_num"]=> string(1) "2" ["post"]=> string(3) "Go!" }

<?php
$l = $_POST['LT'];
$pals = '';

$r = mysql_query("SELECT DISTINCT pal_num FROM pl_tab WHERE lt_num='$l'");

while($row = mysql_fetch_assoc($r))
{
    $pals .= '<input type="checkbox" name="pal_num[]" value="'.$row['pal_num'].'">'.$row['pal_num'].'<br>';
}

if($pal == '')
    echo '';
else
echo '<form name="get_pal" action="post.php" method="POST">';
echo $pals;
echo '<input type="submit" name="post" value="Go!">';
echo '</form>';
?>

このコードを使用してください

于 2013-08-26T10:03:42.893 に答える