[英]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.