Ich baue eine Registrierung und Login-Formular und ich möchte meine Benutzer Passwörter bei der Registrierung Hash und mein Hauptproblem an dieser Stelle ist, wie Sie die Abfrage schreiben, um die Passwörter zu aktualisieren Der Benutzer signiert seine E-Mail und gibt es zum ersten Mal. Ich möchte mysqli_insert_id() zur Abfrage hinzufügen, um die eindeutige ID für jeden Benutzer zu verfolgen.mysql Abfrage zu aktualisieren db mit Hash Passwörter
so habe ich Datenbank namens testdb mit users
innerhalb.
mein Code funktioniert perfekt bis zu dem Moment, wenn Sie das Passwort abfragen und aktualisieren müssen.
Zuerst ich Hashing meine Passwörter
$password = $_POST['password'];
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
$query = "UPDATE `users` SET `password` = '$hashed_password' WHERE id = "
Wie Sie ich habe ein Problem mit meiner Anfrage sehen, die Passwörter in meiner DB aktualisieren soll.
Ich habe diesen Code bis zu diesem Punkt geschrieben, damit ich Hilfe brauche, um meine UPDATE Abfrage
if (array_key_exists("submit", $_POST)) {
// connect to our db
$link = mysqli_connect("localhost", "root", "", "secretdi");
// check for connection
if (mysqli_connect_error()) {
die("Database Connection Error");
}
$error = "";
if (!$_POST['email']) {
$error .= "An email address is required<br>";
}
if (!$_POST['password']) {
$error .= "A password is required<br>";
}
if ($error != "") {
$error = "<p>There were error(s) in your form:</p>".$error;
} else {
$query = "SELECT id FROM `users` WHERE `email` = '".mysqli_real_escape_string($link, $_POST['email'])."' LIMIT 1";
$results = mysqli_query($link, $query);
if (mysqli_num_rows($results) > 0) {
$error = "That email address is taken.";
} else {
$query = "INSERT INTO `users` (`email`, `password`) VALUES('".mysqli_real_escape_string($link, $_POST['email'])."','".mysqli_real_escape_string($link, $_POST['password'])."') ";
if (!mysqli_query($link,$query)) {
$error = "<p>Could not sign you up - please try again later</p>";
} else {
$password = $_POST['password'];
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
$query = "UPDATE `users` SET `password` = '$hashed_password' WHERE id = "
echo "Sign up successful";
}
}
}
Warte, willst du das Passwort bei der Anmeldung haseln ?! Warum nicht bei der Registrierung? – Vini
ja ich möchte sie bei der Registrierung Hash ich war im Begriff, meine Frage zu bearbeiten – Learno
Sie Hash-Passwörter bei der Registrierung und überprüfen Sie das Hash-Passwort mit Eingabe-Passwort bei der Anmeldung. Ich denke du bist verwirrt – Akintunde007