插入复选框值

时间:2010-04-17 08:59:29

标签: php checkbox

我的注册表单包含checkboxes以及其他字段。我无法将选定的checkbox值插入数据库。我在数据库中创建了一个字段来存储所有选中的值。

这是表格中checkbox部分的代码:

<pre><input type="checkbox" name="expertise[]" value="Websites,IT and Software"> Websites, IT and Software   <input type="checkbox" name="expertise[]" value="Writing and Content"> Writing and Content </pre>
<pre><input type="checkbox" name="expertise[]" value="Design and Media"> Design and Media            <input type="checkbox" name="expertise[]" value="Data entry and Admin"> Data entry and Admin </pre>
<pre><input type="checkbox" name="expertise[]" value="Engineering and Skills"> Engineering and Science     <input type="checkbox" name="expertise[]" value="Seles and Marketing"> Sales and Marketing </pre>
<pre><input type="checkbox" name="expertise[]" value="Business and Accounting"> Business and Accounting     <input type="checkbox" name="expertise[]" value="Others"> Others </pre>

这是用于插入数据的相应php代码

 $checkusername=mysql_query("SELECT * FROM freelancer WHERE fusername='{$_POST['username']}'");

    if (mysql_num_rows($checkusername)==1)
    {
      echo "username already exist";
    }
    else
    {
      $query = "insert into freelancer(ffname,flname,fgender,femail,fusername,fpwd,fphone,fadd,facc,facc_name,fbank_details,fcity,fcountry,fexpertise,fprofile,fskills,fhourly_rate,fresume) values

      ('".$_POST['first_name']."','".$_POST['last_name']."','".$_POST['gender']."','".$_POST['email']."','".$_POST['username']."','".$_POST['password']."','".$_POST['phone']."','".$_POST['address']."','".$_POST['acc_num']."','".$_POST['acc_name']."','".$_POST['bank']."','".$_POST['city']."','".$_POST['country']."','".implode(',',$_POST['expertise'])."','".$_POST['profile']."','".$_POST['skills']."','".$_POST['rate']."','".$_POST['resume']."')";

      $result =

      ($query) or die (mysql_error());

此代码插入所有字段的数据,但复选框值字段保持为空。

3 个答案:

答案 0 :(得分:1)

在此专业知识中包含数组,请使用此

$exp = $_POST["expertise"];
$fulexp = implode(",", $exp);
// echo $fulexp;

它将给出所有复选框值的正确结果

答案 1 :(得分:0)

你已经通过“[]”(专业[])在HTML中定义了一个数组,而在PHP中你使用了价值$ _POST ['专长']。我建议使用:

 <input type="checkbox" name="expertise" value="Design and Media" /> Design and Media   

编辑:

尝试使用var_dump($ _ POST ['expertise'])来查看变量$ _POST ['expertise']的内容。这个功能经常有很大帮助。

答案 2 :(得分:0)

但是$_POST["expertise"];只会返回用户选中的最后一个复选框,如果您更改专业知识[]的复选框名称。