如何在不保存按钮值的情况下使用 php 在数据库中保存多个单选按钮
how to save multiple radio button in database using php without save button value
如何使用 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");
}
}
}
此代码有效,但数据库额外保存在保存按钮值中如何解决此问题??
foreach ( $_POST as $key => $val ){
您是直接循环 $_POST
,因此 SAVE 按钮的值也保存在数据库中。单独取值而不是循环整个 $_POST
,这样 SAVE 按钮的值将不会保存在数据库中。
此外,您正在使用 mysql
已弃用的函数,请使用 mysqli
或 PDO
。
编辑::
就像你采取的方式一样 user_id
==> $variablename = $_POST['fieldname'];
编辑:::
让我假设我有这样的表格
<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')");
}
}
?>
试试这个
unset($_POST['name-of-save-button']);
$data = $_POST;
foreach ( $data as $key => $val ){//your code here}
如何使用 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");
}
}
}
此代码有效,但数据库额外保存在保存按钮值中如何解决此问题??
foreach ( $_POST as $key => $val ){
您是直接循环 $_POST
,因此 SAVE 按钮的值也保存在数据库中。单独取值而不是循环整个 $_POST
,这样 SAVE 按钮的值将不会保存在数据库中。
此外,您正在使用 mysql
已弃用的函数,请使用 mysqli
或 PDO
。
编辑::
就像你采取的方式一样 user_id
==> $variablename = $_POST['fieldname'];
编辑::: 让我假设我有这样的表格
<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')");
}
}
?>
试试这个
unset($_POST['name-of-save-button']);
$data = $_POST;
foreach ( $data as $key => $val ){//your code here}