复选框到数据库的值

时间:2013-10-05 19:01:31

标签: php mysql checkbox

尝试将复选框的值输入数据库但失败了, 谁有关于如何将复选框的值输入我的datbasen的提示?

然后问一个问题,如何在同一个文件中运行post action?

我的代码太久了:

<?php
$con=mysqli_connect("db_info");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO mass (gift, name, epost, interest) 
VALUES 
('$_POST[gift_nor]','$_POST[name_nor]','$_POST[epost_nor]','$_POST[interest_nor]')";


if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
?>


<form method="post" action="">

    <input type="radio" name="gift_nor" value="present_1">present_1<br>
    <input type="radio" name="gift_nor" value="present_2">present_2<br />
    <input type="radio" name="gift_nor" value="present_3">present_3

    <hr />

    Namn: <input type="text" name="name_nor">
    Epostadress: <input type="text" name="epost_nor">

    <hr />

    <input type="checkbox" name="interest_nor[]" value="int_1">I have a bike<br>
    <input type="checkbox" name="interest_nor[]" value="int_2">I have a car<br />
    <input type="checkbox" name="interest_nor[]" value="int_3">I have a computer

    <hr />        

    <input name="Send" type="submit" id="Skicka">
</form>

1 个答案:

答案 0 :(得分:3)

使用implode, 做这样的事

<?php
if (isset($_POST['Send']))
{
$con=mysqli_connect("db_info");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
  $check=implode(',', $_POST['interest_nor']); //it convert checkbox array into string

    $sql="INSERT INTO mass (gift, name, epost, interest) 
    VALUES 
    ('$_POST[gift_nor]','$_POST[name_nor]','$_POST[epost_nor]','$check')";
if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
}
?>