アクティベーション後にログインしようとすると、パスワードが一致しない理由がわかりません。見やすくするために、以下に貼り付けたコードを切り詰めました。
関連する登録コードは次のとおりです。
$salt = substr(sha1(uniqid(rand(),true)),0,20);
$password_db = hash('sha256', $salt.$password1);
$sqlinfo = mysql_query("INSERT INTO db_1 (email, password, salt)
VALUES('$email1','$password_db','$salt')") or die(mysql_error());
ログイン用の相関コードは次のとおりです。
$email = $_POST['email'];
$password = $_POST['password'];
$sqlinfo = mysql_query("SELECT * FROM db_1 WHERE email='$email' AND emailactiv='1'");
if($sqlinfo['password'] == hash('sha256', $sqlinfo['salt'].$password)){
while($row = mysql_fetch_array($sqlinfo)){
... }
else { ...
私はこれまで何度か繰り返しを行ってきましたが、役に立ちませんでした。任意の洞察をいただければ幸いです。