【问题标题】:how to save multiple radio button in database using php without save button value如何使用php在数据库中保存多个单选按钮而不保存按钮值
【发布时间】:2016-08-26 19:40:42
【问题描述】:

如何在没有保存按钮值的情况下使用 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");
        }
    }
}

此代码有效,但数据库额外保存在保存按钮值中如何解决此问题??

【问题讨论】:

  • 警告:如果您只是学习 PHP,请不要使用mysql_query 接口。它是如此可怕和危险,以至于在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。您的用户参数不是properly escaped,有SQL injection bugs可以被利用。
  • 我可以查看您的 Html 代码吗?
  • 是的,完全同意@tadman,但是在当前代码中,如果你想取消设置保存按钮的值,你可以使用 unset($_POST['name-of-save-button']);然后 $data = $_POST; foreach($data as $key => $val){//你的代码在这里}

标签: php jquery mysql radio-group


【解决方案1】:
foreach ( $_POST as $key => $val ){

您正在直接循环$_POST,因此 SAVE 按钮的值也保存在数据库中。单独取值而不是循环整个$_POST,那么SAVE按钮的值将不会保存在数据库中。

此外,您正在使用已弃用的 mysql 函数,请使用 mysqliPDO

编辑:: 就像你使用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')");
        }
    }
?>

【讨论】:

  • 不,因为这是一个大项目..!!这是所有工作都是 mysql 而不是 mysqli 谢谢。请举个例子....??我会试试的:)
  • 我举了一个例子..我认为你的要求有点类似于这个..一旦尝试..
【解决方案2】:

试试这个

unset($_POST['name-of-save-button']); $data = $_POST; foreach ( $data as $key => $val ){//your code here}

【讨论】:

  • @illease 这肯定可以工作,你可以通过 print_r($_POST); unset($_POST['any-post-field-you-want-to-unset']);print_r($_POST);
猜你喜欢
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多