【问题标题】:How to get value of checked checkbox in php? [closed]如何在php中获取选中复选框的值? [关闭]
【发布时间】:2011-09-11 14:13:15
【问题描述】:

代码如下:

<?php // operator Page
include ("classes/dbhelper.php");
include ("conf/conf.php");
$conf = new Dbconf();
$dbURL = $conf->get_databaseURL();
$dbUName = $conf->get_databaseUName();
$dbPword = $conf->get_databasePWord();
$dbName = $conf->get_databaseName();
$nameOfDbWithCustomers = $conf->get_tableName('customer');

if(isset($_REQUEST[session_name()]))
{
   session_start();
}
else
{
   header("Location: authorize.php");
}
if($_SESSION['usr_id'] == md5(crypt($_SESSION['login'],$_SESSION['pass'])))
{   
    echo "<script type='text/javascript' src='/jquery-1.6.js'></script>
        <form method='post'> 
        Name: <input type='text' name='Name' size='10' value=''>
        Post: <input type='text' name='Post' size='10' value=''>
        Section: <input type='text' name='Section' size='10' value=''>
        Company: <input type='text' name='Company' size='10' value=''>
        Phone Number: <input type='text' name='Phone_Number' size='10 value=''>
        e-mail: <input type='text' name='e-mail' size='10' value=''>
        Active: <input type='checkbox' name='Active' value=''> 
        <input type='submit' name='Search' size='10' value='Search'> <br>
        <input type='reset' name='Reset' value='Reset'>
        </form>

        <form method ='post'>
        SMS: <input type='checkbox' name = 'sms'>
        E-mail: <input type='checkbox' name = 'email' id='mailcheck'><br>
        <TEXTAREA NAME='message' WRAP='virtual' COLS='40' ROWS='3'>
        </TEXTAREA><br>
        <input type ='submit' name ='Send' size = '10' value = 'Send'>
        </form>

        <form action='upload.php'' method='post' enctype='multipart/form-data'>
        <input type='file' name='filename'><br> 
        <input type='submit value='Загрузить'><br>
        </form>";

    if (isset($POST['Send'])){

    }

    if (isset($_POST['Search'])){
        //*********************query*************************
        $name = isset($_POST['Name']) ? $_POST['Name'] : 0;
        $post = isset($_POST['Post']) ? $_POST['Post'] : 0;
        $section = isset($_POST['Section']) ? $_POST['Section'] : 0;
        $company = isset($_POST['Company']) ? $_POST['Company'] : 0;
        $phoneNumber = isset($_POST['Phone_Number']) ? $_POST['Phone_Number'] : 0;
        $eMail = isset($_POST['e-mail']) ? $_POST['e-mail'] : 0;
        $active = isset($_POST['Active']) ? "1" : "0";

        $array = array(
                 "name" => $name,
                 "post" => $post,
                 "section" => $section,
                 "company" => $company,
                 "phone_number" => $phoneNumber,
                 "email" => $eMail,
                 "status" => $active
               );

        $sql = "SELECT * FROM $nameOfDbWithCustomers";
        $sql_where = array();

        foreach($array as $key => $value)
            {
                if(!empty($value))
                $sql_where[] = $key." = "."'$value'";
            }
        if(count($sql_where) > 0)
            {
                $sql .=" WHERE ";
            }
        $sql.=" ".implode(" AND ", $sql_where);
        //*********************END query*************************
        $dbHelp = new DbHelper($dbURL, $dbUName, $dbPword, $dbName, '');
        $queryResult = $dbHelp->getDataFromDbByQuery($sql); 

        $table = "<table border=1 width=100% align=center>\n";
        $table .= "<tr>\n";
        $i = 1;
        while ($i < mysql_num_fields($queryResult)) {
            $meta = mysql_fetch_field($queryResult, $i);
            $i++;
            $table .= "<td>".$meta->name."</td>\n";
        }
        $table .= "<td> Выбрать все: <input type='checkbox' name='cbname3[]' value='main' id='chkSelectAll'</td>\n";
        $table .= "</tr>\n";
        $i = 1;
        while ($row = mysql_fetch_assoc($queryResult)){     
            $table .= "<tr>\n";
            $table .= "<td>".$row['name']."</td>\n";
            $table .= "<td>".$row['post']."</td>\n";    
            $table .= "<td>".$row['section']."</td>\n";  
            $table .= "<td>".$row['company']."</td>\n";  
            $table .= "<td>".$row['phone_number']."</td>\n";  
            $table .= "<td>".$row['email']."</td>\n";  
            $table .= "<td>".$row['status']."</td>\n";  
            $table .= "<td>".$row['lock_time']."</td>\n";  
            $table .= "<td>".$row['reason_for_blocking']."</td>\n";  
            $table .= "<td><input type='checkbox' class=".check."  name='cbname3[]' id='chkItems' value=".$row['id']." /></td>";
            $table .= "</tr>\n";
            $i++;
        }
        $table .= "</table>\n";
        echo $table;
    }
}

?>
<script type="text/javascript">
    $(document).ready(function() {
        $("#<%=chkSelectAll.ClientID %>").click(function() {
            $("#<%= chkItems.ClientID %> input:checkbox").attr('checked',this.checked);
        });

        $("#<%=chkItems.ClientID %> input:checkbox").click(function(){
          if($("#<%= chkSelectAll.ClientID %>").attr('checked') == true && this.checked == false)
             $("#<%= chkSelectAll.ClientID %>").attr('checked',false);

             if(this.checked == true)
                CheckSelectAll();
        });

      function checkSelectAll()
      {
          var flag = true;
           $("#<%=chkItems.ClientID %> input:checkbox").each(function() {
                if(this.checked == false)
                    flag = false;
            });
              $("#<%= chkSelectAll.ClientID %>").attr('checked',flag);
      }  
    });

当用户按下“发送”按钮时,我想从表中获取选中复选框的值。我该怎么做?

【问题讨论】:

  • 下次请尽量不要仅仅为了问一个简单的初学者问题而发布您的完整应用程序;-)
  • 好的,但我认为我不能接受这个值抛出帖子,因为它的形式不同,所以我添加了这个代码)

标签: php checkbox


【解决方案1】:

您应该在 HTML 代码中为复选框指定一个值

Active: <input type='checkbox' name='Active' value='1'> 

然后如果复选框被选中,它会在 POST 中包含分配的值,否则你必须在未选中复选框时进行设置

$active = isset($_POST['Active']) && $_POST['Active']  ? "1" : "0";

【讨论】:

  • 它有不同的形式。没关系?
【解决方案2】:

【讨论】:

    【解决方案3】:

    选中复选框的所有值都应在$_POST['cbname3']中。

    【讨论】:

      猜你喜欢
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 2011-10-28
      • 2015-10-05
      • 1970-01-01
      相关资源
      最近更新 更多