Ein Tutorial für den Anfänger! Egal, wo Sie im Internet unterwegs sind, es gibt fast überall eine Heftklammer - die Benutzerregistrierung. Unabhängig davon, ob sich Ihre Benutzer für die Sicherheit oder nur für eine zusätzliche Funktion registrieren müssen, gibt es keinen Grund, dies mit diesem einfachen Tutorial nicht zu tun. In diesem Lernprogramm werden die Grundlagen der Benutzerverwaltung erläutert. Am Ende steht ein einfacher Member-Bereich, den Sie auf Ihrer eigenen Website implementieren können.
Wenn Sie zusätzliche Hilfe benötigen oder eine Verknüpfung benötigen, lesen Sie die Palette der PHP-Dienstanbieter in Envato Studio. Diese erfahrenen Entwickler können Ihnen bei der schnellen Fehlerbehebung und der Entwicklung einer kompletten App von Grund auf helfen. Stöbern Sie einfach bei den Anbietern, lesen Sie die Bewertungen und Bewertungen und wählen Sie den richtigen Anbieter aus.
In diesem Lernprogramm werden wir jeden Schritt der Erstellung eines Benutzerverwaltungssystems zusammen mit einem privaten Messaging-System zwischen Benutzern durchlaufen. Wir machen dies mit PHP und einer MySQL-Datenbank zum Speichern aller Benutzerinformationen. Dieses Tutorial richtet sich an absolute Anfänger von PHP, so dass keinerlei Vorkenntnisse erforderlich sind. In der Tat können Sie sich als erfahrener PHP-Benutzer ein wenig langweilen!
Dieses Tutorial ist als grundlegende Einführung in Sitzungen und zur Verwendung von Datenbanken in PHP gedacht. Obwohl das Endergebnis dieses Tutorials Ihnen möglicherweise nicht sofort nützlich erscheint, können Sie mit den durch dieses Tutorial erworbenen Fähigkeiten ein eigenes Mitgliedschaftssystem erstellen. nach Ihren eigenen Bedürfnissen.
Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie die folgenden Informationen zur Hand haben:
Wenn Sie nicht über diese Informationen verfügen, sollte Ihr Hostinganbieter Ihnen diese Informationen zur Verfügung stellen können.
Nachdem wir nun die Formalitäten erledigt haben, beginnen wir mit dem Tutorial!
Wie in der Einführung beschrieben, benötigen Sie eine Datenbank, um über diesen Punkt im Lernprogramm hinaus fortzufahren. Zunächst erstellen wir in dieser Datenbank eine Tabelle, um unsere Benutzerinformationen zu speichern.
Die Tabelle, die wir benötigen, speichert unsere Benutzerinformationen. Für unsere Zwecke verwenden wir eine einfache Tabelle. Es ist jedoch einfach, weitere Informationen in zusätzlichen Spalten zu speichern, wenn Sie dies benötigen. In unserem System benötigen wir die folgenden vier Spalten:
In der Datenbank ausgedrückt, a Primärschlüssel ist das Feld, das die Zeile eindeutig identifiziert. In diesem Fall, Benutzeridentifikation
wird unser Primärschlüssel sein. Da wir möchten, dass sich dieser Wert bei jeder Registrierung eines Benutzers erhöht, verwenden wir die spezielle MySQL-Option - auto_increment
.
Die SQL-Abfrage zum Erstellen unserer Tabelle ist unten enthalten und wird normalerweise auf der Registerkarte "SQL" von phpMyAdmin ausgeführt.
CREATE TABLE 'Benutzer' ('UserID' INT (25) NOT NULL AUTO_INCREMENT PRIMARY KEY, 'Benutzername' VARCHAR (65) NOT NULL, 'Passwort' VARCHAR (32) NOT NULL, 'EmailAddress' VARCHAR (255) NOT NULL);
Um die Erstellung unseres Projekts zu vereinfachen, erstellen wir eine Basisdatei, die wir in jede der von uns erstellten Dateien einfügen können. Diese Datei enthält die Informationen zur Datenbankverbindung sowie bestimmte Konfigurationsvariablen, die uns dabei unterstützen.
Beginnen Sie mit dem Erstellen einer neuen Datei: base.php
, und geben Sie den folgenden Code ein:
Werfen wir einen Blick auf einige dieser Zeilen. Wir haben hier ein paar Funktionen verwendet, die wir bisher noch nicht erklärt haben. Lass uns sie kurz durchsehen und sie verstehen. Wenn Sie die Grundlagen von PHP bereits verstehen, können Sie diese Erklärung überspringen.
session_start ();
Diese Funktion startet eine Sitzung für den neuen Benutzer. In diesem Lernprogramm werden später Informationen in dieser Sitzung gespeichert, damit bereits angemeldete Benutzer erkannt werden können. Wenn bereits eine Sitzung erstellt wurde, erkennt diese Funktion dies und trägt sie diese Sitzung auf die nächste Seite.
mysql_connect ($ dbhost, $ dbuser, $ dbpass) oder die ("MySQL Error:". mysql_error ()); mysql_select_db ($ dbname) oder die ("MySQL-Fehler:". mysql_error ());
Jede dieser Funktionen führt eine separate, aber verknüpfte Aufgabe aus. Das mysql_connect
Funktion verbindet unser Skript mit dem Datenbankserver anhand der Informationen, die wir oben angegeben haben mysql_select_db
Die Funktion wählt dann aus, welche Datenbank mit dem Skript verwendet werden soll. Wenn eine der Funktionen nicht ausgeführt werden kann, wird die sterben
Die Funktion springt automatisch ein und stoppt die Verarbeitung des Skripts. Alle Benutzer erhalten die Meldung, dass ein MySQL-Fehler aufgetreten ist.
Das wichtigste Element auf unserer Seite ist die erste Zeile von PHP. Diese Zeile enthält die oben erstellte Datei (base.php) und ermöglicht uns im Wesentlichen den Zugriff auf alle Dateien dieser Datei in unserer aktuellen Datei. Wir machen dies mit der folgenden Zeile PHP-Code. Erstellen Sie eine Datei mit dem Namen index.php
, und platzieren Sie diesen Code oben.
Das erste, was wir für unser Frontend tun werden, ist das Erstellen einer Seite, auf der Benutzer ihre Daten eingeben können, um sich anzumelden, oder wenn sie bereits auf einer Seite angemeldet sind, auf der sie auswählen können, was sie tun möchten. In diesem Tutorial gehe ich davon aus, dass die Benutzer über grundlegende Kenntnisse der Funktionsweise von HTML / CSS verfügen und diesen Code daher nicht im Detail erläutern werden. Im Moment werden diese Elemente nicht formatiert sein, aber wir können dies später ändern, wenn wir unser CSS-Stylesheet erstellen.
Verwenden der gerade erstellten Datei (index.php
), geben Sie den folgenden HTML-Code unterhalb der bereits erstellten PHP-Zeile ein.
Benutzerverwaltungssystem (Tom Cameron für NetTuts) Was sollen wir ihnen zeigen??
Bevor wir den Rest der Seite ausgeben, müssen wir uns einige Fragen stellen:
- Ist der Benutzer bereits angemeldet??
- Ja - Wir müssen ihnen eine Seite mit Optionen zur Auswahl zeigen.
- Nein - Wir fahren mit der nächsten Frage fort.
Hat der Benutzer bereits seine Anmeldedaten angegeben?
- Ja - Wir müssen ihre Angaben überprüfen und wenn sie korrekt sind, werden wir sie auf der Website anmelden.
- Nein - Wir fahren mit der nächsten Frage fort.
Wenn beide oben beantwortet wurden Nein, Wir können jetzt davon ausgehen, dass wir dem Benutzer ein Anmeldeformular anzeigen müssen. Diese Fragen sind in der Tat die gleichen Fragen, die wir in unseren PHP-Code implementieren werden. Wir werden dies in Form von tun
if aussagen
. Werfen Sie nichts in Ihre neuen Dateien ein, werfen wir einen Blick auf die Logik, die wir zuerst verwenden werden.Sieht verwirrend aus, nicht wahr? Lassen Sie uns es in kleinere Abschnitte unterteilen und einzeln durchgehen.
if (! empty ($ _ SESSION ['LoggedIn']) &&! empty ($ _ SESSION ['Benutzername'])) // Benutzer auf die Hauptseite zugreifen lassenWenn sich ein Benutzer auf unserer Website anmeldet, speichern wir seine Informationen in einer Sitzung - zu einem beliebigen Zeitpunkt können wir auf diese Informationen in einem speziellen globalen PHP-Array zugreifen -
$ _SESSION
. Wir benutzen dieleeren
Funktion, um zu überprüfen, ob die Variable leer ist, mit dem Operator!
vor. Deshalb sagen wir:Wenn die Variable $ _SESSION ['LoggedIn'] nicht leer ist und $ _SESSION ['Username'] nicht leer ist, führen Sie diesen Code aus.
Die nächste Zeile funktioniert auf dieselbe Weise, nur diesmal mit
$ _POST
globales Array. Dieses Array enthält alle Daten, die aus dem Anmeldeformular gesendet wurden, das wir später in diesem Lernprogramm erstellen werden. Die letzte Zeile wird nur ausgeführt, wenn keine der vorherigen Anweisungen erfüllt ist. In diesem Fall wird dem Benutzer ein Anmeldeformular angezeigt.Nun, da wir die Logik verstehen, lasst uns zwischen diesen Abschnitten etwas Inhalt bekommen. In deiner
index.php
Datei, geben Sie unten folgendes ein, was Sie bereits haben.Mitgliedsbereich
=$_SESSION['Username']?> und Ihre E-Mail-Adresse lautet =$_SESSION['EmailAddress']?>
. Erfolg"; Echo"Wir leiten Sie jetzt zum Mitgliederbereich weiter.
"; Echo""; else echo"Error
"; Echo"Ihr Konto konnte leider nicht gefunden werden. Bitte klicken Sie hier, um es erneut zu versuchen.
"; else ?>Login für Mitglieder
Danke für den Besuch! Bitte loggen Sie sich unten ein oder klicken Sie hier, um sich zu registrieren.
Hoffentlich verwirren Sie die ersten und letzten Codeblöcke nicht zu sehr. Was wir jetzt wirklich brauchen, ist das, wofür Sie alle zu diesem Tutorial gekommen sind - den PHP-Code. Wir gehen jetzt zeilenweise durch den zweiten Abschnitt, und ich erkläre, wozu jeder Code hier gedacht ist.
$ username = mysql_real_escape_string ($ _ POST ['username']); $ password = md5 (mysql_real_escape_string ($ _ POST ['password']));
Dafür gibt es zwei Funktionen, die erklärt werden müssen. zuerst, mysql_real_escape_string
- Eine sehr nützliche Funktion zum Bereinigen der Datenbankeingabe. Dies ist keine ausfallsichere Maßnahme, aber dadurch wird die Mehrheit der böswilligen Hacker draußen gehalten, indem unerwünschte Teile von dem entfernt werden, was sich in unserem Anmeldeformular befindet. Zweitens, md5
. Es ist unmöglich, hier ins Detail zu gehen, aber diese Funktion verschlüsselt einfach alles, was an sie übergeben wird - in diesem Fall das Passwort des Benutzers -, um zu verhindern, dass neugierige Augen es lesen.
$ checklogin = mysql_query ("SELECT * FROM Benutzer WHERE Username = '". $ Benutzername. "" AND Password =' ". $ Passwort." ")); if (mysql_num_rows ($ checklogin) == 1) $ row = mysql_fetch_array ($ checklogin); $ email = $ row ['EmailAddress']; $ _SESSION ['Username'] = $ Benutzername; $ _SESSION ['EmailAddress'] = $ email; $ _SESSION ['LoggedIn'] = 1;
Hier haben wir den Kern unseres Login-Codes. Zunächst führen wir eine Abfrage in unserer Datenbank durch. In dieser Abfrage suchen wir nach allem, was sich auf ein Mitglied bezieht, dessen Benutzername und Passwort den Werten von unserem entsprechen $ Benutzername
und $ Passwort
dass der Benutzer angegeben hat. In der nächsten Zeile haben wir eine if-Anweisung, in der wir überprüfen, wie viele Ergebnisse wir erhalten haben. Wenn keine Ergebnisse vorliegen, wird dieser Abschnitt nicht verarbeitet. Wenn es jedoch ein Ergebnis gibt, wissen wir, dass der Benutzer existiert, und deshalb werden wir ihn anmelden.
In den nächsten beiden Zeilen wird die E-Mail-Adresse des Benutzers abgerufen. Wir verfügen bereits über diese Informationen aus der bereits ausgeführten Abfrage, sodass wir leicht auf diese Informationen zugreifen können. Zuerst erhalten wir ein Array der Daten, die aus der Datenbank abgerufen wurden. In diesem Fall verwenden wir die PHP-Funktion mysql_fetch_array
. Ich habe dann den Wert der zugewiesen E-Mail-Addresse
Feld zu einer Variablen, die wir später verwenden können.
Jetzt legen wir die Sitzung fest. Wir speichern den Benutzernamen und die E-Mail-Adresse des Benutzers in der Sitzung sowie einen besonderen Wert, damit wir wissen, dass er mit diesem Formular angemeldet ist. Nachdem dies alles gesagt und getan ist, werden sie unter Verwendung von META REFRESH im Code in den Mitgliederbereich umgeleitet.
Wie sieht unser Projekt derzeit für einen Benutzer aus??
Großartig! Es ist jetzt an der Zeit, fortzufahren, um sicherzustellen, dass die Benutzer tatsächlich auf Ihre Website zugreifen können.
Es ist alles gut und gut, ein Anmeldeformular auf Ihrer Website zu haben, aber jetzt müssen wir es Benutzern ermöglichen, es zu verwenden - wir müssen ein Anmeldeformular erstellen. Machen Sie eine Datei mit dem Namen register.php
und fügen Sie den folgenden Code ein.
Benutzerverwaltungssystem (Tom Cameron für NetTuts) Error"; Echo"Sorry, dieser Benutzername ist vergeben. Bitte gehen Sie zurück und versuchen Sie es erneut.
"; else $ registerquery = mysql_query (" INSERT INTO-Benutzer (Benutzername, Kennwort, E-Mail-Adresse)) WERTE ('". $ Benutzername." "," ". $ Kennwort." "," ". $ E-Mail." ") "); if ($ registerquery) echo"Erfolg
"; Echo"Ihr Konto wurde erfolgreich erstellt. Bitte klicken Sie hier, um sich anzumelden.
"; else echo"Error
"; Echo"Entschuldigung, Ihre Anmeldung ist fehlgeschlagen. Bitte gehen Sie zurück und versuchen Sie es erneut.
"; else ?>Registrieren
Bitte geben Sie unten Ihre Daten ein, um sich zu registrieren.