Ich versuche, Benutzereingabe-Passwort mit gespeicherten in der Datenbank übereinstimmen. Bis jetzt funktionierte es ganz gut Aber plötzlich begann sich seltsam zu benehmen.einfach === passender Fehler php
Skript gestartet Fehler von zeigt Ungültige E-Mail-ID oder Kennwort trotz der Information korrekt ist. Aktualisierungsfenster Unmittelbar nach dem angezeigten Fehler wird der Benutzername angezeigt, der in der Variablen $ _Session gespeichert ist (was bedeutet, dass der Benutzer angemeldet ist).
Aber wie ist das möglich, wenn der Benutzer den Punkt nicht erreicht hat, an dem der Benutzername in $ _session gespeichert wird.
Wie auch immer, ich habe versucht, Sitzungsvariable am Anfang des Skripts zu löschen, da $ _session nicht vollständig zerstört wurde (obwohl es war), aber das hat auch nicht funktioniert.
Ich habe bereits getestet mit strcmp um $ check_password === $ row ['password'] aber kein Erfolg. Ich habe das auch mit "==" -Operatoren getestet, aber kein Glück.
Überraschenderweise, wenn ich dies auf localhost versuche, funktioniert es gut, aber auf dem Server erzeugt es Fehler wie erwähnt.
Ich überprüfte Fehlerprotokoll, aber nichts war da. irgendein Hinweis, was verursacht das?
foreach($result as $row)
{
$pass = hash('sha256', $_POST['password'] . $row['salt']);
for($round = 0; $round < 65536; $round++) { $check_password = hash('sha256', $pass . $row['salt']); }
if($check_password===$row['password'])
{
// check if e-mail verification has been done or not
if(strcmp($row['activation'],"Active")==0)
{
$_SESSION['username'] = $row['username'];
$response['status'] = 'success';
$response['message'] = 'Login successful.';
}
else
{
$response['status'] = 'failure';
$response['message'] = 'Your Account is Not verified Yet. Kindly verify your account via Login panel Verify Account link.';
}
}
else
{
$response['status'] = 'failure';
$response['message'] = 'Invalid Email id or password.'; <--- Error point
}
}
Bild von beiden gleichen Passwörtern hinzufügen.
'var_dump ($ check_password, $ row ['passwort'])' - sind sie gleich? Gleiche Anzahl an Charakteren? – aynber
ja, sie sind beide gleich. Selbst es zeigte "Login erfolgreich" in der Konsole. –