Javascript 如何在MySQL数据库中保存jquery keyup()的每个输入值?

Javascript 如何在MySQL数据库中保存jquery keyup()的每个输入值?,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在为我的大学创建一项研究,希望将用户在密码字段中键入的每个输入值保存到数据库中 例如: 用户键入“hello”作为密码。我想救“h”、“他”、“赫尔”、“地狱”和至少“你好”。如果他删除了一个像上一个一样的角色,我也想保存这个:“见鬼” 目前我正在保存最后一个值“hello”,如下所示: startpage.php: <form action="?atn=validatePassword" method="post" class="form mg_top"> <lab

我正在为我的大学创建一项研究,希望将用户在密码字段中键入的每个输入值保存到数据库中

例如: 用户键入“hello”作为密码。我想救“h”、“他”、“赫尔”、“地狱”和至少“你好”。如果他删除了一个像上一个一样的角色,我也想保存这个:“见鬼”

目前我正在保存最后一个值“hello”,如下所示:

startpage.php:

<form action="?atn=validatePassword" method="post" class="form mg_top">
   <label id="enterPW" for="inp_list_generatedPassword">Select or enter Password:</label>
   <input id="inp_list_generatedPassword" name="password" value="" type='password' class="form-control talign_center input" placeholder="Select or enter password">
</form>
private function validatePassword(){        
  $password = $_POST["password"];
}
$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});
要获取输入,我有一个js文件,其中使用了keyup事件:

startpage.js:

<form action="?atn=validatePassword" method="post" class="form mg_top">
   <label id="enterPW" for="inp_list_generatedPassword">Select or enter Password:</label>
   <input id="inp_list_generatedPassword" name="password" value="" type='password' class="form-control talign_center input" placeholder="Select or enter password">
</form>
private function validatePassword(){        
  $password = $_POST["password"];
}
$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});
在ViewController.php中,我添加了这一行
$currentPW=$\u GET[“keyValue”]
但它不起作用。我得到一个错误:ViewController.php中的未定义索引:keyValue

此外,这不会保存每个输入。按下按钮时,它只保存最后输入的字符串:
Submit


如何保存所有步骤?我的代码或者说Ajax调用中有错误吗?

当然,如果有人输入了非常奇怪的东西,这会给数据库带来巨大的负担

您需要在PHP脚本中使用缓存,但这并不是问题的一部分

到解决方案:

<form action="?atn=validatePassword" method="post" class="form mg_top">
   <label id="enterPW" for="inp_list_generatedPassword">Select or enter Password:</label>
   <input id="inp_list_generatedPassword" name="password" value="" type='password' class="form-control talign_center input" placeholder="Select or enter password">
</form>
private function validatePassword(){        
  $password = $_POST["password"];
}
$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});
我试过了,它的效果如下:

$(document).on('keyup', '#inp_list_generatedPassword', function() {
    var input = this.value;
    $('#output').text(input);
});
看这里:

现在,您可以根据需要使用“输入”变量。 我还希望使用“$.post”,如下所示:

注意,未经测试的代码:

$.post( "api.php", { data: input } );
现在,您可以使用$_POST[“data”]获取输入

其他信息:

<form action="?atn=validatePassword" method="post" class="form mg_top">
   <label id="enterPW" for="inp_list_generatedPassword">Select or enter Password:</label>
   <input id="inp_list_generatedPassword" name="password" value="" type='password' class="form-control talign_center input" placeholder="Select or enter password">
</form>
private function validatePassword(){        
  $password = $_POST["password"];
}
$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});
但正如我之前所说:使用缓存

否则你的系统就会陷入真正的麻烦


使用一个全局PHP变量,每N分钟写入一次或将条目写入数据库就足够了。

当然,如果有人输入了非常奇怪的东西,这会给数据库带来巨大的过载

您需要在PHP脚本中使用缓存,但这并不是问题的一部分

到解决方案:

<form action="?atn=validatePassword" method="post" class="form mg_top">
   <label id="enterPW" for="inp_list_generatedPassword">Select or enter Password:</label>
   <input id="inp_list_generatedPassword" name="password" value="" type='password' class="form-control talign_center input" placeholder="Select or enter password">
</form>
private function validatePassword(){        
  $password = $_POST["password"];
}
$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});
我试过了,它的效果如下:

$(document).on('keyup', '#inp_list_generatedPassword', function() {
    var input = this.value;
    $('#output').text(input);
});
看这里:

现在,您可以根据需要使用“输入”变量。 我还希望使用“$.post”,如下所示:

注意,未经测试的代码:

$.post( "api.php", { data: input } );
现在,您可以使用$_POST[“data”]获取输入

其他信息:

<form action="?atn=validatePassword" method="post" class="form mg_top">
   <label id="enterPW" for="inp_list_generatedPassword">Select or enter Password:</label>
   <input id="inp_list_generatedPassword" name="password" value="" type='password' class="form-control talign_center input" placeholder="Select or enter password">
</form>
private function validatePassword(){        
  $password = $_POST["password"];
}
$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});
但正如我之前所说:使用缓存

否则你的系统就会陷入真正的麻烦


使用一个全局PHP变量,每N分钟写入一次或向数据库中写入一个条目就足够了。

这将影响数据库和网络I/O。为什么要为每个按键保存?我想你应该启动一个保存倒计时计时器,并在每次按键时重置它。当他们停止按键时,计时器将结束,而不是重置,并触发保存。这将冲击您的数据库和网络I/O。为什么要为每个按键保存?我想你应该启动一个保存倒计时计时器,并在每次按键时重置它。当他们停止按键时,计时器将结束,而不是重置,并触发保存。谢谢你,美加戈。我的问题是“$.post”需求。它不起作用。也许我走错了路?这是我的js文件的路径:“/Applications/XAMPP/xamppfiles/htdocs/mySurvey3/web/js/views/startpage/startpage.js”,这是我要将输入发送到的php文件的路径:“/Applications/XAMPP/xamppfiles/htdocs/mySurvey3/webcontroller/ViewController.php”。我必须在$.post(“?.php”,{data:input})中写什么;如何使用缓存?我以前从未做过类似的事情……如果/Applications/XAMPP/xamppfiles/htdocs/是您使用的基本路径(您在浏览器中调用),请尝试/mySurvey3/webcontroller/ViewController.ph‌​谢谢你,美加哥。我的问题是“$.post”需求。它不起作用。也许我走错了路?这是我的js文件的路径:“/Applications/XAMPP/xamppfiles/htdocs/mySurvey3/web/js/views/startpage/startpage.js”,这是我要将输入发送到的php文件的路径:“/Applications/XAMPP/xamppfiles/htdocs/mySurvey3/webcontroller/ViewController.php”。我必须在$.post(“?.php”,{data:input})中写什么;如何使用缓存?我以前从未做过类似的事情……如果/Applications/XAMPP/xamppfiles/htdocs/是您使用的基本路径(您在浏览器中调用),请尝试/mySurvey3/webcontroller/ViewController.ph‌​P