javascript - PHP按下按钮时更新数据库中文本输入的值

标签 javascript php jquery html ajax

我将解释到目前为止我已经实现的内容:- 这是数据库中的表,即 adhar_card 。结构见下图:-(Adhard_card_id 为主键)

enter image description here

当我们点击验证按钮时,adhar_card 表中的“status”字段将更改为 2。类似地,当我们单击拒绝按钮时,状态将更改为 5。我的代码中唯一缺少的部分是输入字段(到期日期)的功能。用户应该能够输入到期日期,当他们按下验证按钮时。DB(Adharcard) 中的状态应更改为 2(已实现),并将输入值填充到 DB(Adharcard) 中的“expiry_Date”字段(不是实现的)。我怎么解决这个问题 。?此代码可能会导致 sql 注入(inject),或者此代码可能存在漏洞,但由于我们仅将此代码用于本地主机..我认为这不是问题,我们将在将其上传到服务器时查看该漏洞。现在我想要DB.Status 列中要更新的输入值正在更新,但输入列未更新。

这是Html部分(包含输入文本字段和验证按钮):-

 <div class="form-group">
   <div class="input-group">
      <div class="form-line">
         <input type="text" class="form-control date" id="expiry_date" placeholder="Add Aadhar Number ">
      </div>
   </div>
   <button id="adhar_card_button" type="button"   class="btn btn-primary btn-lg text-center">sdasd</button>
</div>

这是激活函数(按下按钮时调用 ajax 请求):-(当我们提醒 expiry_date 时,我会获取在输入框中输入的值)

function activate(tablename,idName,idValue,expiry_date){
var expiry_date = $("#expiry_date").val();
if(expiry_date != null && expiry_date != ""){
$.ajax({    
type: 'POST',  
url: 'verify_single_doc.php',   
dataType: 'JSON' ,
data: {"tablename":tablename,"idName":idName,"idValue":idValue,expiry_date:"expiry_date"},  
success: function(response)  
{ 
if(response.error == false){
//alert('in');
alert(expiry_date);
$("#"+response.tablename+"_button").html('Reject.');
$("#"+response.tablename+"_button").attr("class","btn btn-danger");
$("#"+response.tablename+"_button").attr("onclick","deactivate("+response.tablename+","+response.idName+","+response.idValue+")");
}
}
});  
}
}

以及用于更新值的 PHP 代码(此处将状态更新为 2,但不更新到期日期值):-

<?php

require('connect.php');
$res = array();
if( $_REQUEST['tablename'] != null  &&
    $_REQUEST['idName'] != null  &&
    $_REQUEST['idValue'] != null &&
    $_REQUEST['expiry_date'] !=null 

){

        $tablename = $_REQUEST['tablename'] ;
        $idName = $_REQUEST['idName'] ;
        $idValue = $_REQUEST['idValue'] ;
        $expiry_date = $_REQUEST['expiry_date'];    

        if (mysqli_query($conn,"UPDATE $tablename SET status = 2 , expiry_date = $expiry_date WHERE $idName = $idValue" ) ){

                $res['error'] = false;
                $res['message'] = "Verified.";
                $res['tablename'] = $tablename;
                $res['idName'] = $idName;
                $res['idValue'] = $idValue;
                $res['expiry_date'] = $expiry_date;
        }else{
            $res['error'] = true;
            $res['message'] = "Try again later.";
        } 
}else{
$res['error'] = true;
$res['message'] = "Fields are missing.";
}

echo json_encode($res);


?>

最佳答案

由于到期日期将是日期字段,因此您需要更新 '' 中包含的值。因此,请像下面这样更改您的查询,然后尝试更新日期。

mysqli_query($conn,"UPDATE $tablename SET status = 2 , expiry_date = '$expiry_date' WHERE $idName = $idValue" );

此外,您的 jS 到期日期也出了问题。将您的数据更改为

data: {"tablename":tablename,"idName":idName,"idValue":idValue,"expiry_date":expiry_date},

关于javascript - PHP按下按钮时更新数据库中文本输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49461454/

相关文章:

javascript - 使用开放图谱 API,有没有办法确定用户的哪些 friend 设置了 @facebook.com 电子邮件地址?

jquery - 我如何向这个 jQuery 插件模式添加一个方法?

javascript - Selenium WebDriver打开的Firefox实例和手动打开的浏览器实例有什么区别?

javascript - 添加属性,打印对象时不会显示该属性

php - 使用 MySQL 条目将按钮连接到 JavaScript 函数

php - 奇怪的 PHP 错误消息

javascript - 将一些文本设为粗体和一些斜体

javascript - 如何使用 GraphQL 突变减少请求数?

javascript - 无法获取 JSON 输出

php - 拉拉维尔 5 : AppServiceProvider vs custom provider