나는 사용자가 계정을 만들 수있는 간단한 스크립트 작업을하고 있습니다. 그것에 특별한 것은 없으며, 사용자 이름과 암호를 묻습니다. 유일한 문제는 사용자가 암호를 변경할 수있는 스크립트를 만드는 것입니다. 여기에 내 진전이있다.비밀번호 변경 PHP
"현재 암호가 맞지 않습니다!"라는 메시지가 나타나는데 암호가 맞아도 마찬가지입니다. 이미 동일한 페이지에 다른 코드로 데이터베이스에 연결했습니다.
changePass.html :
<?php
$CurrentPassword = mysql_real_escape_string(strip_tags(stripslashes($_POST['CurrentPassword'])));
$NewPassword = mysql_real_escape_string(strip_tags(stripslashes($_POST['NewPassword'])));
$ConfirmNewPassword = mysql_real_escape_string(strip_tags(stripslashes($_POST['ConfirmNewPassword'])));
$Submit2 = mysql_real_escape_string(strip_tags(stripslashes($_POST['Submit2'])));
?>
<?php
if ($Submit2) {
$_OLDHASH = hash('sha512',''.$CurrentPassword.'');
$_NEWHASH = hash('sha512',''.$NewPassword.'');
$_CONFIRMNEWHASH = hash('sha512',''.$ConfirmNewPassword.'');
if ($myU->Password == $_OLDHASH) {
if ($_NEWHASH == $_CONFIRMNEWHASH) {
mysql_query("UPDATE Password='".$_NEWHASH."' WHERE Username='".$User."'");
session_destroy();
header("Location: index.php");
}
else {
echo "Your new password and new confirm password does not match!";
}
}
else {
echo "Your current password is not right!";
}
}
?>
<form action='' method='POST'>
<br />
Update Password
<br />
<input placeholder='Current Password' type='password' name='CurrentPassword'>
<br />
<input placeholder='New Password' type='password' name='NewPassword'>
<br />
<input placeholder='Confirm New Password' type='password' name='ConfirmNewPassword'>
<br />
<input type='submit' value='Change' name='Submit2'><br />
</form>
그럼 실제 질문은 무엇입니까? 작동하지 않는 것은 무엇입니까? –
글쎄, 그 단지 잘못된 암호를 말하고, 비록 유효한 암호. 내 생각 엔 데이터베이스에 연결하는 데 오류가 있지만 데이터베이스 구성이 좋지 않습니다. – user2092939
여기에 '잘못된 비밀번호'가 인쇄되어 있지 않으므로 처음에는 그 코드를 찾아야합니다. – ceejayoz