Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Tutorials und FAQ » [PHP & MySQL] User-Registration mit PHP und MySQL » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen User-Registration mit PHP und MySQL
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
brain_surgery brain_surgery ist weiblich
skype: energon-soup


images/avatars/avatar-52044.png

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria
Name: Nathalie

User-Registration mit PHP und MySQL Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

@Mods: Bitte verschieben!
User-Registration mit PHP und MySQL
Hallo Leute!
Seit längerem schon wollte ich ein solches Tutorial machen, und schlussendlich konnte ich mich dazu aufraffen. Falls Fehler oder Fragen aufkommen sollten zögert bitte nicht, zu fragen!

Vorwort
Dieses Tutorial zeigt, wie man ganz leicht eine Anmeldung für Mitglieder für die eigene Homepage realisieren kann. Man braucht dazu lediglich einen PHP-fähigen Server mit FTP und der Möglichkeit, MySQL-Datenbanken anzulegen. Wie auch mein Login-Skript schon ist es größtenteils Plug&Play, kann also ohne programmiertechnische Vorkenntnisse eingebaut werden. Erwähntes Login-Skript ist auch für die Verwendung mit dieser Registration vorgesehen, am Ende des eigentlichen Tutorials werde ich euch erklären, wie ihr das Login-Skript anpassen müsst, damit ihr es mit diesem hier verwenden könnt.

Alle nötigen Dateien findet ihr im Anhang!

Also, ohne weitere Umschweife: Los geht's!

1. Datenbank vorbereiten
In meinem anderen Tutorial (Link) erkläre ich, wie man eine Datenbank von Hand bearbeiten und Tabellen und Datensätze einfügen kann. Diesen Teil will ich mir deswegen diesmal sparen, er ist für dieses Tutorial auch nicht unbedingt nötig, da wir die benötigte Tabelle automatisch erstellen und mit Zeilen füllen werden.

Der erste Schritt besteht also darin, dass wir die Tabelle anlegen, mit der unser Skrip nachher arbeiten soll. Wir machen dies mit einem SQL-Befehl, den ihr direkt in phpMyAdmin ausführt.

Kopiert diesen Code und führt ihn in eurer Datenbank aus.
VORSICHT: Wenn sich bereits eine Tabelle mit dem Namen "mitglieder" in der Datenbank befindet, wird diese gelöscht!
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
DROP TABLE IF EXISTS mitglieder;

CREATE TABLE mitglieder (
id INTEGER UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
name VARCHAR(255) UNIQUE NOT NULL,
passwort VARCHAR (255) NOT NULL,
funktion VARCHAR(255) NOT NULL DEFAULT 'Mitglied',  -- Mitglied oder Admin
email VARCHAR(255) NOT NULL,
regdatum INTEGER NOT NULL -- Registrierungsdatum in UNIX Timestamp-Format
)

Wir erstellen hier die Tabelle mit dem Namen "mitglieder", die die Daten unserer Mitglieder aufnehmen wird. Sie enthält die Felder "id" (zur eindeutigen Identifizierung eines jeden Mitgliedes), "name", "passwort" (selbsterklärend), "funktion" (hier wird gespeichert, ob es sich bei dem User um ein Mitglied oder einen Admin handelt!), "email" und "regdatum" (der Zeitpunkt der Registrierung).

Wirklich notwendig wären nur id, name und passwort, für die spätere praktische Anwendung sind die anderen Felder aber auch sehr nützlich, weshalb ich sie eingefügt habe. Wenn ihr keine Verwendung dafür habt, stören sie niemanden, und wenn doch, werdet ihr froh sein dass ihr nicht später zurückkommen und umständliche Änderungen durchführen müsst. fröhlich

2. Verbindung zur Datenbank
Bei den angehängten Daten findet sich auch die datenbank.php, die in das Skript included wird. Sie übernimmt das Herstellen der Verbindung zur Datenbank, und wenn ihr die Registration gemeinsam mit meinem Login verwendet, müsst ihr die Datei nur einmal anpassen und könnt sie dann für beide Skripts verwenden.

In beiden Fällen sind die Daten aus eurem phpMyAdmin einzutragen:
php:
1:
2:
3:
4:
$sqlhost "localhost";  //bei funpic, bplaced etc. ansonsten musst du den Host bei deinem Anbieter nachschauen!
$sqluser "DEINBENUTZERNAME";
$sqlpassword "DEINPASSWORT";
$sqldb "DEINEDATENBANK";

3. Das eigentliche Skript
Jetzt wenden wir uns dem eigentlichen Skript zu. Das meiste wird ganz von selbst erledigt und ihr solltet nur an dem PHP-Teil herumbessern, wenn ihr eine ungefähre Ahnung habt, was ihr tut, sonst könnte die ganze Funktionalität verloren gehen. Wenn ihr einen Blick in die Datei register.php werft, findet ihr dort ein paar Infos und außerdem habe ich den Code reichlich mit Kommentaren versehen, so dass es fortgeschrittenen Benutzern kinderleicht fallen sollte, das Skript nach ihren Wünschen und Anforderungen anzupassen.
Auf jeden Fall aber müsst ihr ein paar Variablen anpassen. Damit könnt ihr die Fehlermeldungen personalisieren und außerdem eure Links eintragen. Die Variablen, von denen ich spreche, findet ihr übersichtlich im oberen Teil der Datei zusammengefasst (Zeile 31 bis 38 in register.php).
php:
1:
2:
3:
4:
5:
6:
7:
8:
$fehler "<h1>Fehler!</h1>";
$fehler1 "Bitte fülle alle Felder vollständig aus!<br><b><a href="javascript:history.back()">Zurück </a></b>";
$fehler2 "Die Passwörter stimmen nicht überein!<br><b><a href="javascript:history.back()">Zurück </a></b>";
$fehler3 "Der Username existiert bereits!<br><b><a href="javascript:history.back()">Zurück </a></b>";
$fehler4 "Problem beim Eintragen in die Datenbank! Bitte versuche es später oder setze dich mit dem Webmaster in Verbindung!<br><b><a href="javascript:history.back()">Zurück </a></b>";
$erfolg "<h1>Registrierung erfolgreich!</h1>";
$internlink "<a href = 'DEINE INTERNE SEITE'>internen Bereich</a>";
$loginmeldung ", du wurdest bereits eingeloggt und kannst nun den ".$internlink." betreten!<br>Viel Spaß!";

Alles, was in den Anführungszeichen steht, kann nach euren Wünschen verändert werden.

Das eigentliche Formular (ihr findet es im unteren Teil der Datei) kann ebenfalls verändert und beliebig gestylt werden, die Eingabefelder müssen aber erhalten bleiben.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<h1>Registrierung</h1>
<form name = "anmeldung" action = "" method = "post">
Username: <input type = "text" name = "name"><br>
Passwort: <input type = "password" name = "passwort"><br>
Passwort (Wiederholung): <input type = "password" name = "passwort2"><br>
E-Mail: <input type = "text" name = "email"><br>
<input type = "hidden" name = "sent" value = "sent">
<input type = "submit" value = "Registrieren">
</form>

An einigen Stellen der Datei habe ich außerdem mit Kommentaren angegeben, wenn zustätzliches HTML oder Codes eingefügt werden können, zB. Links zu CSS-Stylesheets. Abgesehen davon sollte die Struktur nicht verändert werden, um Komplikationen zu vermeiden.

Damit wären wir auch schon fertig! Ladet nun die Dateien datenbank.php und register.php ins selbe Verzeichnis hoch, vergesst nicht, die Tabelle anzulegen und eure Registrierung sollte einsatzbereit sein.
Ihr solltet euch nun zuerst einmal selbst registrieren. Um euren eigenen Status auf "Administrator" zu ändern, könnt ihr euch bei phpMyAdmin einloggen, links auf die Tabelle "mitglieder" klicken (wenn euch dann nicht die Datensätze sondern die Struktur angezeigt wird, klickt oben auf die Registerkarte "Anzeigen"), dann bei dem Datensatz mit eurem Namen das Stiftsymbol (Bearbeiten) anklicken und bei dem in weiterer Folge erscheinenden Formular den Wert des Feldes funktion von Mitglied auf Administrator (oder wie auch immer ihr das bezeichnen wollt) ändern. Ein Klick auf 'OK' und es ist vollbracht. fröhlich
Viel Spaß mit dem Skript!

Zusatz: Der Login
Ohne einen dazugehörigen Login nützt einem eine Anmeldung natürlich noch nicht viel. Zu diesem Zweck habe ich mein Login-Skript zur Verfügung gestellt. Dieses könnt ihr nun durcharbeiten (wenn ihr das nicht bereits getan habt). Ihr könnt dabei aber den Teil mit der Datenbank als auch den mit der datenbank.php überspringen, da wir das in diesem Tutorial ja bereits erledigt haben.

Allerdings sind einige wenige kleine Änderungen an der login.php notwendig. Wenn ihr also das andere Tutorial abgeschlossen habt, kehrt noch einmal in die login.php zurück und führt folgendes aus:

Suche:
php:
1:
$query mysql_query("SELECT name, passw FROM mitglieder WHERE name = '".$username."' AND passw = '".$passwort."' LIMIT 1");

Ersetze mit:
php:
1:
$query mysql_query("SELECT * FROM mitglieder WHERE name = '".$username."' AND passwort = '".$passwort."' LIMIT 1");


Suche:
php:
1:
$_SESSION["name"] = $username;   //Session speichern

Füge darunter ein:
php:
1:
$_SESSION["funktion"] = $login["funktion"];


Suche:
php:
1:
$passwort $_POST["password"];

Ersetze mit:
php:
1:
passwortmd5($_POST["passwort"]);


Das war Alles! Der Login sollte jetzt mit der Registrierung kompatibel sein.
Liebe Grüße und bis zum nächsten Mal,
brain <3

Dateianhang:
zip registration_by_brain_surgery.zip (3,37 KB, 58 mal heruntergeladen)


__________________
Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt! smile

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von brain_surgery: 01.05.2011 16:02.

10.04.2011 17:06 brain_surgery ist offline E-Mail an brain_surgery senden Homepage von brain_surgery Beiträge von brain_surgery suchen Nehmen Sie brain_surgery in Ihre Freundesliste auf
doggiegirl doggiegirl ist weiblich
Mitglied


images/avatars/avatar-53535.gif

Dabei seit: 22.11.2006
Beiträge: 1.601
Herkunft: Niederösterreich

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

#edit

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von doggiegirl: 09.08.2011 22:45.

09.08.2011 16:51 doggiegirl ist offline E-Mail an doggiegirl senden Beiträge von doggiegirl suchen Nehmen Sie doggiegirl in Ihre Freundesliste auf Fügen Sie doggiegirl in Ihre Kontaktliste ein YIM-Name von doggiegirl: melly1606 MSN Passport-Profil von doggiegirl anzeigen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Tutorials und FAQ » [PHP & MySQL] User-Registration mit PHP und MySQL

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH