Php 如何从复选框中检索值?

Php 如何从复选框中检索值?,php,checkbox,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

我正在尝试使用以下代码获取对应于复选框的电子邮件。但是,我没有在新变量中得到正确的检查电子邮件。有人能查一下吗

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

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

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

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


我对:
onSelect=“
部分有点困惑。您首先需要发布表单,然后才能获取值。似乎您混淆了客户端JavaScript和服务器端PHP。PHP生成发送到浏览器的HTML。JavaScript(例如onSelect函数)由浏览器执行。您能告诉我如何获取与$msg变量中的复选框相对应的值吗?我不确定您为什么要在$\u会话中使用它。通常您会在
$\u POST[“add”]
中收到值。现在我想起来了,您可能希望所有的值都显示在那里。这就是为什么您需要调整

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