Advertisement
  1. Code
  2. PHP

Benutzermitgliedschaft mit PHP

by
Read Time:14 minsLanguages:

German (Deutsch) translation by Katharina Grigorovich-Nevolina (you can also view the original English article)

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, das mit diesem einfachen Tutorial nicht zu tun. In diesem Tutorial werden die Grundlagen der Benutzerverwaltung erläutert. Am Ende steht ein einfacher Mitglied-Bereich, den Sie auf Ihrer eigenen Website implementieren können.

Einführung

In diesem Tutorial werden wir jeden Schritt der Erstellung eines Benutzerverwaltungssystems zusammen mit einem privaten Nachrichtenübermittlung-System zwischen Benutzern durchlaufen. Wir machen das 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:

  • Datenbank-Hostname - Das ist der Server, auf dem Ihre Datenbank gehostet wird. In den meisten Fällen handelt es sich dabei lediglich um "localhost".
  • Datenbankname, Datenbankbenutzername, Datenbankkennwort - Bevor Sie dieses Tutorial starten, sollten Sie eine MySQL-Datenbank erstellen, wenn Sie die Möglichkeit haben, oder die Informationen zum Herstellen einer Verbindung zu einer vorhandenen Datenbank zur Verfügung haben. Diese Informationen werden während des gesamten Tutorials benötigt.

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!

Schritt 1 - Erstkonfiguration

Einrichten der Datenbank

Wie in der Einführung beschrieben, benötigen Sie eine Datenbank, um über diesen Punkt im Tutorial 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 es benötigen. In unserem System benötigen wir die folgenden vier Spalten:

  • UserID (Primärschlüssel)
  • Nutzername
  • Passwort
  • Email-Addresse

In Datenbank ausgedrückt ist ein Primärschlüssel das Feld, das die Zeile eindeutig identifiziert. In diesem Fall ist die UserID unser Primärschlüssel. Da wir möchten, dass sich jedes Mal, wenn sich ein Benutzer registriert, erhöht wird, 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.

Erstellen einer Basisdatei

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.

Erstellen Sie zunächst eine neue Datei: base.php und geben Sie 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. Lassen Sie uns sie kurz durchsehen und sie verstehen. Wenn Sie die Grundlagen von PHP bereits verstehen, können Sie diese Erklärung überspringen.

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.

Jede dieser Funktionen führt eine separate, aber verknüpfte Aufgabe aus. Die Funktion mysql_connect verbindet unser Skript anhand der oben angegebenen Informationen mit dem Datenbankserver. Die Funktion mysql_select_db wählt dann aus, welche Datenbank mit dem Skript verwendet werden soll. Wenn eine der Funktionen nicht abgeschlossen wird, wird die die-Funktion automatisch eingefügt und die Verarbeitung des Skripts gestoppt. Dabei wird allen Benutzern die Meldung angezeigt, dass ein MySQL-Fehler aufgetreten ist.

Schritt 2 - Zurück zum Vorderen Ende

Was müssen wir zuerst tun?

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 es uns im Wesentlichen, auf alles aus dieser Datei in unserer aktuellen Datei zuzugreifen. Wir machen das mit der folgenden Zeile PHP-Code. Erstellen Sie eine Datei mit dem Namen index.php und platzieren Sie diesen Code oben.

Beginnen Sie die HTML-Seite

Das erste, was wir für unser Vorderes Ende 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.

Geben Sie mithilfe der gerade erstellten Datei (index.php) den folgenden HTML-Code unterhalb der bereits erstellten PHP-Zeile ein.

Was sollen wir ihnen zeigen?

Bevor wir den Rest der Seite ausgeben, müssen wir uns einige Fragen stellen:

  1. Ist der Benutzer bereits angemeldet?
  • Ja, wir müssen ihnen eine Seite mit Optionen zur Auswahl zeigen.
  • Nein, wir machen weiter mit der nächsten Frage.
  • Hat der Benutzer bereits seine Zugangsdaten übermittelt?
    • Ja, wir müssen ihre Angaben überprüfen und wenn das korrekt ist, werden wir sie auf der Website anmelden.
    • Nein, wir machen weiter mit der nächsten Frage.
  • Wenn beide der obigen Fragen mit Nein beantwortet wurden, können wir 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 if statements tun. 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.

    Wenn sich ein Benutzer auf unserer Website anmeldet, speichern wir seine Informationen in einer Sitzung. Anschließend können wir auf diese Informationen in einem speziellen globalen PHP-Array - $ _SESSION - zugreifen. Wir verwenden die empty 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 die gleiche Weise, diesmal jedoch mit dem globalen Array $ _POST. Dieses Array enthält alle Daten, die aus dem Anmeldeformular gesendet wurden, das wir später in diesem Tutorial 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. Geben Sie in Ihre index.php-Datei Folgendes ein, was Sie bereits haben.

    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.

    Dafür gibt es zwei Funktionen, die erklärt werden müssen. Erstens, mysql_real_escape_string - eine sehr nützliche Funktion zum Bereinigen der Datenbankeingabe. Das 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.

    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 Kennwort mit den Werten unseres $username und des $password übereinstimmen, die 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 Email-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 des EmailAddress-Feldes einer Variablen zugewiesen, die wir später verwenden können.

    Jetzt legen wir die Sitzung fest. Wir speichern den Benutzernamen und die Email-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.

    Lassen Sie die Leute sich registrieren

    Es ist schön und gut, ein Anmeldeformular auf Ihrer Website zu haben, aber jetzt müssen wir den Benutzern die Möglichkeit geben, es zu verwenden - wir müssen ein Anmeldeformular erstellen. Erstellen Sie eine Datei namens register.php und fügen Sie den folgenden Code ein.

    Es gibt also nicht viel neues PHP, das wir in diesem Abschnitt noch nicht gelernt haben. Schauen wir uns doch diese SQL-Abfrage kurz an und schauen wir uns an, was wir tun können.

    Hier fügen wir den Benutzer unserer Datenbank hinzu. Anstatt Daten abzurufen, fügen wir sie ein. Wir geben also zuerst an, in welche Spalten wir Daten eingeben (vergessen Sie nicht, unsere UserID wird automatisch erhöht). Im Bereich VALUES() sagen wir ihm, was in jede Spalte eingefügt werden soll. In diesem Fall unsere Variablen, die von der Benutzereingabe stammen. Also, versuchen wir es mal. Sobald Sie in Ihrem brandneuen Registrierungsformular ein Konto erstellt haben, werden Sie Folgendes für den Mitgliederbereich sehen.

    Stellen Sie sicher, dass sie sich abmelden können

    Wir sind fast am Ende dieses Abschnitts, aber wir brauchen noch etwas, bevor wir hier fertig sind - eine Möglichkeit für Benutzer, sich von ihren Konten abzumelden. Das ist sehr leicht (zum Glück für uns); Erstellen Sie ein neues Feld namens logout.php und geben Sie Folgendes ein.

    Dabei setzen wir zuerst unser globales $ _SESSION-Array zurück und zerstören dann die Sitzung vollständig.

    Und das ist das Ende dieses Abschnitts und das Ende des PHP-Codes. Lassen Sie uns nun zu unserem letzten Abschnitt übergehen.

    Schritt 3 - Erhalten Sie das Styling

    Ich werde in diesem Abschnitt nicht viel erklären. Wenn Sie HTML/CSS nicht verstehen, würde ich Ihnen sehr empfehlen, wenn Sie von den vielen hervorragenden Tutorials auf dieser Website profitieren, um Ihnen den Einstieg zu erleichtern. Erstellen Sie eine neue Datei mit dem Namen style.css und geben Sie Folgendes ein; Das wird alle Seiten, die wir bisher erstellt haben, stylen.

    Schauen wir uns nun ein paar Screenshots an, wie unser letztes Projekt aussehen sollte:

    Das Anmeldeformular.

    Der Mitgliederbereich

    Das Anmeldeformular.

    Und schlussendlich...

    Und das war's! Sie haben jetzt einen Mitgliederbereich, den Sie auf Ihrer Website verwenden können. Ich kann eine Menge Leute sehen, die ihren Kopf schütteln und ihren Monitoren anschreien, dass das für sie keinen Nutzen hat - Sie haben recht. Ich hoffe jedoch, dass jeder PHP-Anfänger gelernt hat, wie man eine Datenbank verwendet und wie man mit Sessions Informationen speichert. Die wichtigsten Fähigkeiten zum Erstellen einer Webanwendung.

    • Abonnieren Sie den NETTUTS-RSS-Feed für mehr tägliche Webentwicklungsberichte und -artikel.


    Advertisement
    Advertisement
    Looking for something to help kick start your next project?
    Envato Market has a range of items for sale to help get you started.