実際に私はchangepasswordページを作成しています。これは、古いパスワードが既存のパスワードと一致するかどうかをチェックする私の機能です。そして、そのパスワードはデータベースのMD5に保存されているため、最初にMD5でそのパスワードを変換し、その後、そのパスワードを確認できます。これがコードです。
function fnIsValidOldPassword()
{
var oldPassword = "";
var objUser = new Object();
objUser.UserID = <?php echo $_SESSION['UserId'] ?>;
$.ajax({
type: "POST",
url: "db.php?GetUser",
data: {data:objUser},
async:false,
dataType:"json",
success: function(response)
{
if(response.IsError)
alert(response.ErrorMessage);
else
oldPassword = response.Records[0].Password;
},
error:function(message)
{
alert("Error: " + message);
}
});
if($.md5($("#txtOldPassword").val())) != oldPassword)
^^ //here it shows error. that md5 is not a function.
{
$("#errorPassword")[0].innerHTML = "Wrong Old Password.";
$("#txtOldPassword").removeClass("successTextBox").addClass("errorTextBox");
return false;
}
$("#txtOldPassword").removeClass("errorTextBox").addClass("successTextBox");
$("#errorPassword")[0].innerHTML = "";
return true;
}
md5はjqueryの関数ではなく、md5でパスワードを変換する方法です。
jQueryには、文字列のmd5を提供するメソッドがありません。そのため、外部スクリプトを使用する必要があります。 jQuery MD5というプラグインがあります。また、md5を達成するための多くの方法を提供します。それらのいくつかは
指定された文字列値の(16進数でエンコードされた)MD5ハッシュを作成します。
var md5 = $.md5('value');
指定された文字列値とキーの(16進数でエンコードされた)HMAC-MD5ハッシュを作成します。
var md5 = $.md5('value', 'key');
指定された文字列値の未加工のMD5ハッシュを作成します。
var md5 = $.md5('value', null, true);
指定された文字列値とキーの生のHMAC-MD5ハッシュを作成します。
var md5 = $.md5('value', 'key', true);
これはあなたが望むことをするかもしれません...ここでスニペットを確認してください。 jQuery MD5
このプラグインをダウンロードして含める
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/md5.js">
のように使用します
if(CryptoJS.MD5($("#txtOldPassword").val())) != oldPassword) {
}
//Following lines shows md5 value
//var hash = CryptoJS.MD5("Message");
//alert(hash);
これには追加のプラグインが必要です。
これを見てください plugin
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script>
<script>
var passhash = CryptoJS.MD5(password).toString();
$.post(
'includes/login.php',
{ user: username, pass: passhash },
onLogin,
'json' );
</script>
IDからフィールド値を取得し、ajaxで送信します
var field = $("#field").val();
$.ajax({
type: "POST",
url: "db.php",
data: {variable_name:field},
async:false,
dataType:"json",
success: function(response) {
alert(response);
}
});
Db.phpファイルで変数名を取得します
$variable_name = $_GET['variable_name'];
mysql_query("SELECT password FROM table_name WHERE password='".md5($variable_name)."'");
フィドル: http://jsfiddle.net/33HMj/
Js:
var md5 = function(value) {
return CryptoJS.MD5(value).toString();
}
$("input").keyup(function () {
var value = $(this).val(),
hash = md5(value);
$(".test").html(hash);
});