2012-05-25 98 views
0

由於某些原因,此代碼未檢查數據庫的當前密碼,但它確實正確地更改了密碼。它也能夠連接到我的數據庫。它還可以檢查新密碼是否與確認新密碼相同。這是PHP正在運行,這可能是不對的:php檢查當前密碼錯誤

​​

回答

1

嘛,據我所看到的,沒有在你的腳本中的任何地方你調用數據庫來檢查現有的記錄...

$query = mysql_query("SELECT * FROM members WHERE id='{$_SESSION['id']}'"); 
$data = mysql_fetch_assoc($query); 
if($data['pass'] == md5($_POST['confirmpassword'])){ 
echo "Old and new password matches"; 
} 
+0

我的意思是我需要檢查當前密碼與數據庫上的md5密碼。 – core16

+0

那裏的代碼張貼在那裏應該驗證密碼匹配 – Breezer

+0

謝謝,這解決了我的問題 – core16

2

出於某種原因,這個代碼不檢查與數據庫的當前密碼,但它並正確地更改密碼。

...這實際上是你的代碼嗎?還是你的問題措辭不佳?

if($_POST['password'] != /* something should be here but i don't know what */) 

因爲有它爲什麼不檢查密碼的原因...

另外:

它也可以連接到我的數據庫,並檢查新密碼與確認新密碼一樣。

不,它不是 - 它只是檢查,對其他領域的口令是用戶輸入的 - 它沒有核對數據庫什麼:

if($_POST['newpassword'] != $_POST['confirmpassword']) 
     $err[] = 'New passwords do not match!'; 
+0

我曾經有東西,但我試圖修復它時刪除了它。 – core16

+0

好,你可以把它放回去嗎?您目前沒有數據庫代碼向我們展示如何嘗試檢查數據庫中的用戶密碼? – Laurence

+0

這是一段時間後,我不記得我在那裏。我不知道我需要從那裏檢查數據庫中的md5密碼。 – core16