PHPの初心者で、パスワードを忘れた関数を作成しようとしています。次のコードがあります
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("inventory", $con);
$a=$_POST['password'];
$b=$_POST['newpassword'];
$c=$_POST['retypepassword'];
$result = mysql_query("SELECT * from admins " );
while($row = mysql_fetch_array($result))
{
$password = $row['password'] ;
}
if($_POST['retypepassword'] != $b){
echo "<script type='text/javascript'>alert('Password Not match');
window.location.href='forgotpass.php?id=0';
</script>";
exit();
}
if($_POST['password'] != $password){
echo "<script type='text/javascript'>alert('You Provide wrong Password');
window.location.href='forgotpass.php?id=0';
</script>";
exit();
}
else {
mysql_query("UPDATE admins SET password = '$b'
WHERE password = '$a' ");
header("location: index.php?id=0");
};
?>
今、問題は、データベースに挿入された最後のアカウントしか更新できないことです。たとえば、データベースからこの次のアカウントがあり、「greeg」を変更したいとします。これには問題はありません。しかし、「gejel」(「データベースの最初の値」) を変更すると、「間違ったパスワードを提供しました」と表示されます。なぜいつもここに来るのかわかりません。「WHERE」に何か問題があると思いますか?plsは私を助けて助けてください:D
id |password |
1 | gejel |
2 | greeg |