Em đã làm một trang để đổi mật khẩu cho thành viên trong web php mà E đang làm. Em có một bảng members lưu thông tin thành viên có cả password của thành viên được mã hóa
Gồm có: password cũ
password mới
Gõ lại password mới
Ở password mới và gõ lại password mới thì E đã làm được kiểm tra xem 2 pass có giống nhau không và update vào sql của table members
Nhưng password cũ E lấy phần đã mã hóa so sánh với phần password đã mã hóa có trong phần password của table members. Nhưng toàn báo lỗi sai mật khẩu cũ. Mặc dù E thử rất nhiều lần rồi. Mong các bác xem giúp E code:
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<a href="index.php">Quay lại<br></a>';
require_once("mysql.php");
if ( !$_SESSION['user_id'] )
{
echo "Bạn chưa đăng nhập<a href='login.php'>Dang nhap</a> hoặc <a href='register.php'>Đăng ký</a>";
}
else
{
$user_id = intval($_SESSION['user_id']);
$sql_query = @mysql_query("SELECT * FROM members WHERE id='{$user_id}'");
$member = @mysql_fetch_array( $sql_query );
//----Noi dung thong bao sau khi sua
echo "<b>Đang đổi mật khẩu tài khoản {$member['username']}</b>. <br> ";
if ($_GET['do']=="sua") {
$passcu = md5( addslashes( $_POST['passcu'] ) );
$pass = md5( addslashes( $_POST['pass'] ) );
$repass = md5( addslashes( $_POST['repass'] ) );
if(md5( addslashes( $_POST['passcu'] ) )==mysql_query("SELECT password FROM members WHERE username='$user_id'"))
{
if ($_POST['pass']==$_POST['repass'] && $_POST['pass']!="")
{
$sqlx="UPDATE `members` SET `password` = '".$pass."' WHERE `id` = '$user_id' LIMIT 1 ;";
$suapass=mysql_query($sqlx);
if ($suapass)
echo "(Đã đổi pass) ";
else
echo "(Chưa đổi pass) ";
}
else echo "(Chưa đổi pass. Lỗi: mật khẩu không thể để trống) ";
}
else echo "(mật khẩu cũ không đúng) ";
}
else
echo"
<form method='POST' action='?do=sua'>
<table border='1' width='100%' id='table1' cellspacing='0' cellpadding='0' style='border-collapse: collapse' bordercolor='#C0C0C0'>
<tr>
<td>Password cũ:</td>
<td><input type='password' name='passcu' size='20'></td>
</tr>
<tr>
<td>Password:</td>
<td><input type='password' name='pass' size='20'></td>
</tr>
<tr>
<td>Retype Password:</td>
<td><input type='password' name='repass' size='20'></td>
</tr>
</table>
<p align='center'><input type='submit' value='Sửa'><input type='reset' value='Khôi phục' name='B2'></p>
</form>
";
}
?>
phần code so sánh password cũ thành viên nhập và password cũ lưu trong table members E đã làm chữ đậm. Các bác xem dùm


LinkBack URL
About LinkBacks
Trả Lời Với Trích Dẫn
Ha ha




