如何使用php保存数据库中的多个单选按钮而不保存按钮值。
我的代码:
$user_id = $_POST['user_id'];
foreach ( $_POST as $key => $val ) {
if ($key <> 'user_id') {
$bidder_interst_insert="INSERT INTO bidder_interest_list(id, bidder_id, bidder_interest_name) VALUES ('','$user_id','$val')";
$bidder_interst_insert_result = mysql_query($bidder_interst_insert);
if (mysql_affected_rows() > 0) {
$interest_list_success = "Thank you Successfull insert your interst list.";
$_SESSION['interest_list_success_msg'] = $interest_list_success;
} else {
$insert_error = "interst list Insert Error.";
$_SESSION['insert_error_msg'] = $insert_error;
header("location:interest_list.php");
}
}
}
这段代码工作但数据库额外保存在保存按钮值中如何解决这个问题??
答案 0 :(得分:2)
foreach ( $_POST as $key => $val ){
您正在直接循环$_POST
,因此SAVE按钮值也会保存在数据库中。单独取值而不是循环整个$_POST
,然后SAVE按钮值将不会保存在数据库中。
此外,您使用的是不推荐使用的mysql
个函数,请使用mysqli
或PDO
。
EDIT ::
只需采用与user_id
==&gt;相同的方式。 $variablename = $_POST['fieldname'];
EDIT ::: 我想我有一个这样的表格
<form name="form1" id="form1" method="post" action="">
<input type="checkbox" name="products[]" value="A" checked="checked" />A <br />
<input type="checkbox" name="products[]" value="B" checked="checked" />B <br />
<input type="checkbox" name="products[]" value="C" checked="checked" />C <br />
<input type="checkbox" name="products[]" value="D" checked="checked" />D <br />
<input type="checkbox" name="products[]" value="E" checked="checked" />E <br />
<input type="checkbox" name="products[]" value="F" checked="checked" />F <br />
<input type="submit" name="save" id="save" value="Save" />
</form>
然后我可以这样做:
<?php
if(isset($_POST['save']))
{
$products = $_POST['products'];
foreach($products as $key => $value)
{
$qry = mysql_query("INSERT INTO tbl(product) VALUES('$value')");
}
}
?>
答案 1 :(得分:1)
试试这个
unset($_POST['name-of-save-button']);
$data = $_POST;
foreach ( $data as $key => $val ){//your code here}