繁体   English   中英

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

[英]How can I save each input value of a jquery keyup() in MySQL database?

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

例如:用户键入“ hello”作为密码。 我要保存“ h”,“他”,“ hel”,“地狱”和至少“ hello”。 如果他删除了像最后一个字符一样的字符,我也要保存此字符:“ hell”。

目前,我正在像这样保存上一个值“ 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>

ViewController.php:

private function validatePassword(){        
  $password = $_POST["password"];
}

为了获得输入,我有一个使用keyup事件的js文件:

startpage.js:

$('#inp_list_generatedPassword').keyup(function() {
var input = this.value;
$('#output').val(input);
$.ajax({
    url: "startpage.php",
    data: {
        'keyValue' : input
    },
    dataType: 'json',
   });
});

在ViewController.php中,我添加以下行: $currentPW = $_GET["keyValue"]; 但这是行不通的。 我收到一个错误: ViewController.php中的未定义索引:keyValue

此外,这不会保存每个输入。 按下按钮时,它只会保存最后输入的字符串: <button id="matchPassword" class="btn btn-primary form-control">Submit</button>

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

当然,如果有人键入非常奇怪的内容,这将给您的数据库带来巨大的负担。

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

解决方案:

我尝试了它,并与此一起工作:

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

在这里看到: https : //jsfiddle.net/cj1367eo/

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

注意,未经测试的代码:

$.post( "api.php", { data: input } );

现在,您可以使用$ _POST [“ data”]来获取输入。

附加信息:

但正如我之前所说: 使用缓存!

否则您的系统可能会遇到麻烦。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM