So habe ich kürzlich gelernt, wie man einen Benutzernamen und ein Passwort zu einer Datenbank hinzufügt. Meine Datenbank ist usersys und die Tabelle, die Benutzerinformationen speichert, wird userdb genannt. Die Tabelle hat zwei Spalten - Benutzername (primär), Passwort.
Das Anmeldeformular funktioniert gut, gibt die Benutzereingaben in die Datenbank korrekt ein und überprüft auch, ob der Benutzername des Benutzers bereits in der Datenbank ist oder nicht.
Nachdem ich das gesagt habe, frage ich, ob jemand mir helfen könnte, ein Login-Skript zu erstellen. Bisher habe ich Folgendes:
%Vor%Die POST-Daten stammen von der vorherigen Anmeldeseite. Ich möchte, dass dieses Skript die Tabelle (userdb) überprüft und die Zeile für den Benutzernamen, den der Benutzer aus dem vorherigen Formular eingegeben hat, findet und überprüft, ob das eingegebene Passwort mit dem in der Zeile userdb angegebenen Passwort übereinstimmt.
Ich möchte auch einen Weg, um zu überprüfen, ob der eingegebene Benutzername existiert oder nicht, um dem Benutzer mitzuteilen, dass der eingegebene Benutzername nicht existiert, wenn er nicht in der Tabelle gefunden werden kann.
Dies ist keine direkte Antwort auf diese Frage, sondern ein GUTER Mehrwert. Sie sollten die MYSQL SHA1-Funktion verwenden, um das Passwort vor dem Speichern in der Datenbank zu verschlüsseln.
%Vor%Sie können Sitzungen verwenden. Sitzungen sind globale Variablen, die, wenn sie festgelegt sind, beim Surfen auf der Site beim Benutzer bleiben.
Da Sie PHP lernen, probieren Sie dieses Tutorial auf der offiziellen Website aus.
Was Sie jedoch in der Theorie tun würden, wenn der Benutzername und das Passwort übereinstimmen, legen Sie eine Sitzungsvariable fest
%Vor%Und dann überprüfen Sie, ob der Benutzer authentifiziert ist.
Ich möchte sowohl $_SESSION
als auch MYSQL
Checks mit jedem Login-POST verwenden. Dies sollte helfen ein paar Dinge zu starten.
HINWEIS: Sie müssten die Auslagerungsdatei mit session_start()
starten und ein separates Session Check-Include erstellen, das mit session_start()
und dann Ihren Progressionen, z. if($_SESSION[valid_user] != $userid)
etwas tun.
Sie können eine select-Anweisung verwenden, um das Passwort für den angegebenen Benutzernamen von MySQL abzurufen. Wenn Sie ein leeres Ergebnis festgelegt haben, haben Sie keinen Benutzernamen in der Tabelle.
Wenn Sie möchten, dass der Benutzer auf mehr als einer PHP-Seite authentifiziert wird, dann können Sie Sitzungen verwenden ( Ссылка ).
Ich denke auch, dass Sie über Sicherheit nachdenken sollten, d. h. SQL Injection verhindern:
%Vor%und Vermeiden des "Sterbens" (Behandeln von Fehlern und Zurückgeben benutzerfreundlicher Nachrichten aus dem Skript).
Tags und Links php authentication