如何从复选框中检索值?

时间:2011-03-16 03:13:43

标签: php checkbox

我正在尝试使用以下代码获取与复选框对应的电子邮件。但是,我没有在新变量中获得正确的已检查电子邮件。任何人都可以检查??

<?php
include("connection.php");
$username=$_SESSION['username'];
$query=mysql_query("SELECT * FROM contacts WHERE username='$username'");
$num=mysql_num_rows($query);
$info=mysql_fetch_array($query);
$i=0;
$msg='';
?>
  <table width="672" border="0">
<?php 
$i=0;
while($info)
{
?>
<form action="compose.php" method="post">
<tr style="font-size:14px;">
    <td width="21" bgcolor="#f2f2f2"> <input type="checkbox" name="add" onSelect="<?php $msg=$msg.$info['email'].", ";?>"/> </td>
    <td width="229" bgcolor="#f2f2f2"> <?php  echo $info['email']; ?> </td>
    <td width="408" bgcolor="#f2f2f2"> <?php  echo $info['name']; ?> </td>
  </tr>
<?php 
$info=mysql_fetch_array($query);
$i++;
}

$_SESSION['contacts']=$msg;
?>
<tr><td></td><td></td><td><br />
<input class="new-button" type="submit" value="Insert & Compose" name="submit" /></td>
</tr>
</form>



</table>

2 个答案:

答案 0 :(得分:2)

要为复选框获取任何值,他们必须拥有value=。在您的情况下,您可能希望该值为相应的电子邮件地址。

您的代码存在的一个问题是使用onSelect=而不是value=,其次是您没有将实际值打印到页面中。将其重写为:

<td width="21" bgcolor="#f2f2f2">
    <input type="checkbox" name="add"
     value="<?php print $info['email']; ?>"/> </td>

如果需要$msg变量来执行某些操作,请在输出后进行汇编。

答案 1 :(得分:0)

<input type="checkbox" name="add" value="<?php echo $msg.$info['email'];?>"/>

复选框没有onSelect事件,你记得有价值,在PHP代码中你应该echo.", "是什么?