复选框值在同一行不同的列php

时间:2014-04-17 11:38:15

标签: php mysql post

idont知道如何平滑代码,如果其中一个框没有检查我将得到一个错误,如Undefined $ databas(数字),我必须添加10个以上的至少复选框,这个代码不是一个选项真的,我会使用数据库名称,但我不知道如何使它成为同一行和每个$ data一个新列

这是我的表格,我没有包含连接部分,因为它不相关

id   url   dok_typ  data1  data2  data3 data4
--- ------ ------------------------------------
 |       |       |      |       |      |
 |       |       |      |       |      |
 |       |       |      |       |      |

Html

<form action="" method="post">
<input type="checkbox" name="databas1" value="data1" /><br />
<input type="checkbox" name="databas2" value="data2" /><br />
<input type="checkbox" name="databas3" value="data3" /><br />
<input type="checkbox" name="databas4" value="data4" /><br />
<input type="submit" name="submit" />
</form>

这是php脚本

 if(isset($_POST['submit'])){
 $databas1=$_POST['databas1'];
 $databas2=$_POST['databas2'];
 $databas3=$_POST['databas3'];
 $databas4=$_POST['databas4'];

 if($databas1=="data1"){ $data1=1; }else{ $data1=0;}
 if($databas2=="data2"){ $data2=1; }else{ $data2=0;}
 if($databas3=="data3"){ $data3=1; }else{ $data3=0;}
 if($databas4=="data4"){ $data4=1; }else{ $data4=0;}

 if($data1 + $data2 + $data3 + $data4== 0){ echo "no box checked"; exit();}

 echo("$data1, $data2, $data3, $data4");
 mysql_query("INSERT INTO upload_where (id, url, dok_typ, data1, data2, data3, data4 )                
 VALUES('', '', '', '".$data1."', '".$data2."', '".$data3."','".$data4."' )") or     

 die(mysql_error()); }

1 个答案:

答案 0 :(得分:0)

如果勾选了复选框,则会发布复选框,如果未勾选复选框,则不会发布复选框。因此,您的代码应该是:

$databas1 = (isset($_POST['databas1']) ? $_POST['databas1'] : false)