2013-08-26 57 views
-1

我想用POST方法從輸入表單(複選框)傳遞多個值,但只有一個值是傾銷,無論有多少個複選框被選中。我是什麼做錯了?無法使用POST方法傳遞表單值

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>'; 
?> 
+0

問這裏的問題..爲淨回答第一個搜索之前。 – 2013-08-26 09:59:47

回答

2

你應該post an array(注意,方括號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>'; 
} 
+0

它的工作!謝謝! – SweetJC

0

你必須通過複選框作爲一個數組名稱更改爲pal_num []

+0

非常感謝你! – SweetJC

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>'; 
?> 

使用此代碼

+0

非常感謝! – SweetJC