簡體   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