2017-05-01 33 views
0

我正在尝试在模式上创建窗体。我有一个2个按钮的表单:接受和拒绝。 如果用户点击accept,那么该数据库中会有更新,如果用户点击拒绝,则会有另一个更新。 我需要从数据库中保留一定的值,所以我正在做一个选择。 问题是,我不知道如何使用JavaScript在数据库中插入(我知道它可以与jquery/ajax,但如何在按钮中调用 ?)。用2提交按钮并保存在数据库中的Boostrap模式窗体

这里是我的代码: the modal

这里是JavaScript函数在数据库中插入不工作

<script type="text/javascript"> 
    function clicked1() { 
    //update candidate_jobs SET is_hired='1' WHERE candidate_id=$userId and applied_to=$row["job_id"]; 

    var connection = new ActiveXObject("ADODB.Connection"), 
    recordSet = new ActiveXObject("ADODB.Recordset"), 
    connectionString = ''; 

    connection.Open(connectionString); 
    recordSet.Open(
    "update candidate_jobs SET is_hired='1' WHERE candidate_id=".$userId." and applied_to=".$row["job_id"]."";, 
    connection); 

    recordSet.close; 
    connection.close; 

    alert('You accepted the offer'); 
} 

    function clicked2() { 
    //idem clicked1 but change the is_hired value to be inserted in the database 
    alert('You rejected the offer'); 
    } 
</script> 

它可以使用jQuery和Ajax做些什么呢?怎么样? 代码有什么问题?

非常感谢!

回答

0

连接的sql字符串很容易出现sql注入攻击(虽然显然任何查看页面源代码的人都可以对数据库执行任何操作) - 参数化是这里的解决方案,我们需要使用IDENTITY或GUID。

以下是可能出现的问题的列表:

1)代码会在IE永远只能运行浏览器 2)您可能需要下载并安装COM组件 - ADO 3)您可能需要运行IE作为管理员 4)您可能需要打开IE中的各种安全漏洞(ActiveX控件,对于脚本安全等)

如果您在浏览器上启用脚本调试,您将获得有关实际问题的更多信息。 希望它可以帮助你。

相关问题