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

标签 javascript php jquery mysql ajax

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

例如: 用户键入“hello”作为密码。我想保存“h”、“he”、“hel”、“hell”和至少“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"];
}

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

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"]; 但它不起作用。我得到一个错误:Undefined index: keyValue in ViewController.php

此外,这不会保存每个输入。它只是在按下按钮时保存最后输入的字符串:<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 分钟或条目写入数据库。

关于javascript - 如何在 MySQL 数据库中保存 jquery keyup() 的每个输入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35025693/

相关文章:

php - Magento - "created_at"字段不会与其余数据一起自动设置

javascript - PHP isset 变量比 jquery 和 javascript 应该工作

javascript - 子状态更改时 Angular 重新加载父 Controller

javascript - 如何使用加号和减号更改 Accordion 标题?

javascript - 如何删除 "printing"html 的 href 到 PDF?

javascript - 如何使用 javascript 将单词放在单个冒号中并用逗号分隔单词

php - 如何在 Laravel 中创建嵌套集合?

php - 如何在 php smtp 中发送带有阿拉伯语 html 内容的电子邮件

jquery - Bootstrap 3 : Fix the row height

javascript - Coldfusion - 验证是否选中单选按钮