Ein Loginscript mit den wichtigsten Funktionen, schnell bei euch eingebaut.
+++++++ [UPDATE VERSION 1.3.3] +++++++
Hallo,
nachdem es öfters Verständnis-Probleme und Bugs mit der alten Version gab,
habe ich nun eine neue Version geschrieben.
Das Loginsystem wurde auf PHP 5.4/5.5 geschrieben und auch nur auf 5.4/5.5 getestet.
Funktionen/Features:
- Login
- Registrierung
- Passwort vergessen
- Geschützter Bereich in der gleichen Datei!
- kleines Rechtesystem (User-Administrator | (Super)Administrator)
- kleines Profil
- Passwort und E-Mail leicht für den User änderbar
- Style leicht anzupassen
Anfangs gibt es die folgenden Ränge:
1. Administrator => Kann User administrieren und Einstellungen zum Loginsystem vornehmen
2. User-Administrator => Kann User administrieren (nur User mit einem niedrigeren Rang)
3. Mitglied => Ist Mitglied
es können noch 6 weitere Ränge vergeben werden.
Demo Accounts: Administrator:
Username: Admin
Passwort: 123456 User-Administrator
Username: Useradmin
Passwort: 123456 Mitglied
Username: user
Passwort: 123456
Damit es keine Probleme beim einfügen des Loginsystem gibt, ist eine Installationsdatei dabei.
Wie installiere ich das Loginsystem? Downloade das Loginsystem von einem der unten genannten Links.
Anschließend entpackst du die Zip-Datei, danach lädst du alle entpackten Ordner und Dateien in das gewünschte Verzeichnis auf deinen Websapce.
Nun rufe das Verzeichnis im Browser auf und folge den weiteren Anweisungen.
Wie füge ich einen neuen Menüpunkt hinzu? Schritt 1:
Erstelle im Ordner "./include" eine PHP-Datei mit dem Namen wie der Menüpunkt heißen soll (Damit man später nicht den Überblick verliert).
Schritt 2:
Füge den folgenden HTML-Code (bei eigenem Design kann dieser abweichen) entweder vor den beiden IF-Abfragen:
<? if(!$log){ // Diesen Teil sieht man nur wenn man ausgeloggt ist ?>
<? if(mainout('regist') == 1){ ?><a class="menu right" href="./?p=regist">Registrieren</a><? } ?>
<a class="menu right" href="./?p=login">Login</a>
<? } ?>
<? if($log){ // Diesen Teil sieht man nur wenn man eingeloggt ist ?>
<? if(userout('rank') >= 8){ // Nur für User-Administratoren und Administratoren sichtbar ?>
<a class="menu right" href="./?p=useradm">Userverwaltung</a>
<? }
if(userout('rank') == 9){ // Nur für Administratoren sichtbar ?>
<a class="menu right" href="./?p=admmain">Einstellungen</a>
<? } ?>
<? if(!$log){ // Diesen Teil sieht man nur wenn man ausgeloggt ist ?>
<a class="menu" href="./?p=neuermenüpunkt">Neuer Menüpunkt</a> <? if(mainout('regist') == 1){ ?><a class="menu right" href="./?p=regist">Registrieren</a><? } ?>
<a class="menu right" href="./?p=login">Login</a>
<? } ?>
<? if($log){ // Diesen Teil sieht man nur wenn man eingeloggt ist ?>
<? if(userout('rank') >= 8){ // Nur für User-Administratoren und Administratoren sichtbar ?>
<a class="menu right" href="./?p=useradm">Userverwaltung</a>
<? }
if(userout('rank') == 9){ // Nur für Administratoren sichtbar ?>
<a class="menu right" href="./?p=admmain">Einstellungen</a>
<? } ?>
<? if(!$log){ // Diesen Teil sieht man nur wenn man ausgeloggt ist ?>
<? if(mainout('regist') == 1){ ?><a class="menu right" href="./?p=regist">Registrieren</a><? } ?>
<a class="menu right" href="./?p=login">Login</a>
<? } ?>
<? if($log){ // Diesen Teil sieht man nur wenn man eingeloggt ist ?>
<a class="menu" href="./?p=neuermenüpunkt">Neuer Menüpunkt</a>
if(!logon()){ // Nur für nicht eingeloggte aufrufbar
if(mainout('regist') == 1){
$s[] = 'regist';
}
$s[] = 'login';
if(mainout('pwv') == 1){
$s[] = 'pwv';
}
}
if(logon()){ // Nur für eingeloggte aufrufbar
$s[] = 'profil';
}
[...]
Wenn der User diese Seite nur aufrufen darf, wenn er ausgeloggt ist, musst du den Code ( $s[] = 'Dateiname des neues Menüpunktes'; ) nach $s[] = 'login'; einfügen. Soll die Seite aber nur aufrufbar sein wenn der User eingeloggt ist, dann musst du den Code nach $s[] = 'profil'; einfügen.
Wie kann ich einen Rangnamen ändern?
Zuerst musst du in die useradm.php gehen, welche du im include Ordner findest.
Dort stehen alle Ränge ungefähr bei Zeile 70.
Ändere dort einen dieser Namen ("Mitglied") in deinen Wunschnamen.
Nun musst du noch in die functions.inc.php, welche sich im expand Ordner befindet.
Suche das Wort "ranks($rank)", z.B. mit Strg + F.
Ändere nun an der gleichen Nummer den Namen, wie in der vorherigen Datei.
Update auf 1.3.3 durchführen
Um ein Update von 1.3.2 auf 1.3.3 durchzuführen musst du lediglich die beiden Dateien functions.inc.php und run.inc.php im expand-Verzeichnis (Ordner) austauschen.
Update auf 1.3.2: Um ein Update auf 1.3.2 durchführen zu können, müsst ihr euch zuerst eure Version in 1.3.2 herunterladen.
Anschließend entpackt ihr die .rar-Datei (z.B. mit WinRAR).
Wenn ihr keine Veränderungen an folgenden Dateien vorgenommen habt, geht so vor:
- Ersetzt die alten Dateien gegen die aus der RAR-Datei.
- functionc.inc.php (im "expand"-Ordner)
- run.inc.php (im "expand"-Ordner)
- useradm.php (im "include"-Ordner)
Wenn ihr Veränderungen an einer der Dateien vorgenommen habt, geht so vor:
- functions.inc.php:
1. Sucht die Funktion "check_email" (z.B. mit STRG + F) und ersetz diese nun gegen die folgende:
Update auf 1.3.1 Mit diesem Update wurde ein kleiner Bug in der functions.inc.php behoben.
Zudem der Bug, dass das Captcha in manchmal nicht angezeigt wird. (Betrifft nur die Standard Version)
1. Öffnet die functions.inc.php im "expand"-Ordner und sucht die Funktion "getCode()". (ca. in Zeile 172)
3. Ersetzt nun noch die folgenden Dateien: (Nur bei der Standard Version nötig)
- regist.php
- pwv.php
Falls ihr an diesen Dateien etwas verändert habt, müsst ihr die Änderungen an den neuen Dateien erneut durchführen.
Fertig!
Bei der Bootstrap Version wurde noch die neue Font Awesome Version 4.3 hinzugefügt. Somit stehen die aktuellen Icons zur Verfügung.
Ersetzt nun den Inhalt des "font-awesome-4.2"-Ordners durch den Inhalt des "font-awesome"-Ordners von dem Update-Paket.
Sicherheits-Update auf 1.3 Mit dem neuen Patch kam ein großes Sicherheits-Update. In diesem Patch wurden fast alle Funktionen und Formulare überarbeitet.
Aus diesem Grund verursacht der Patch etwas Arbeit.
Wenn ihr das Update bei euch durchführen wollt müsst ihr folgende Schritte beachten (Wichtig! Ihr benötigt etwas HTML-Kenntnisse): (gilt nur für die Standard-Version)
1. Zuerst ladet ihr euch die neue Version 1.3 runter. Anschließend entpackt ihr das System auf eurem Computer (z.B. in einem Ordner auf dem Desktop).
2. Ladet euch nun das System von eurem Webspace runter und packt dies auch in einen Ordner (am besten neben dem anderen Ordner).
3. Kopiert nun die alten veränderten Dateien aus dem include Ordner in den Ordner vom neuen System.
(Nicht kopieren: admmain.php, login.php, pwv.php, regist.php, useradm.php)
Falls ihr an diesen Dateien etwas verändert habt, müsst ihr die Änderungen an den neuen Dateien erneut durchführen.
4. Ersetzt nun die neue config.inc.php, welche ihr im expand Ordner findet, gegen eure alte.
5. Ersetzt nun die neue index.php durch eure alte. Nun müsst ihr aber noch den Link zum Abmelden(Logout) bearbeiten.
Ersetzt dazu einfach den alten HTML-Tag durch den neuen:
6. Wenn ihr Änderungen an folgenden Dateien durchgeführt habt, müsst ihr diese leider noch ein mal durchführen:
- functions.inc.php (darunter fallen auch neue Navigationspunkte/Menüpunkte)
- run.inc.php
- style.css
7. Löscht eurer altes System von eurem Webspace und ladet das neue hoch.
8. Nun sollte euer System wieder mit dem neuem Patch laufen, falls nicht, ladet euer altes System wieder hoch und fragt unter diesem Thema oder direkt bei mir um Hilfe.
Möchtet ihr euer System auf die Bootstrap-Version Updaten? Dann solltet ihr Anfänger HTML-Kenntnisse besitzen und euch mit mehr Arbeit anfreunden, denn es ist eig. ein Start bei 0 außer das ihr schon die Texte für eure Seiten habt. Das einzige was ihr hier 1:1 übernehmen könnt ist die config.inc.php, welche euch eine Neuinstallation erspart.
Die Menüpunkte und Seiten müsst ihr alle neu anlegen bzw. ändern. Wer aber auch hier Probleme hat kann dieser hier stellen oder direkt an mich über meine Homepage oder über Facebook.
Update auf 1.2.2 Beta durchführen Downloade dir zuerst das Update auf 1.2.2 Beta. Kopiere anschließend die run.inc.php in den expand Ordner deines Loginsystems.
Falls du schon Änderungen an dieser Datei vorgenommen hast, füge folgenden Code unter "coockielogin();" ein:
Falls du dir nicht sicher bist, downloade dir die Datei und schaue dir die Zeilen 27-29 an.
Was muss ich machen um mein Loginsystem auf 1.2.1 Beta zu Updaten? Downloade das Update auf 1.2.1 Beta. Anschließend öffnest du die Zip-Datei, wenn du schon Veränderungen getroffen hast, dann befolge die folgenden Schritte, wenn nicht dann brauchst du nur die beiden Ordner auf deinem Webspace ersetzen.
Schritt 1: Öffne auf deinem Webspace die style.css Datei im css Ordner
Schritt 2: Kopiere folgenden Code:
Schritt 3: Suche die CSS-Klasse captcha-img z.B. mit Strg + F und ersetze diese gegen das Kopierte
Schritt 4: Öffne auf deinem Webspace die Datei regist.php im Ordner include
Schritt 5: Ersetze den folgenden Part in der Datei:
Schritt 6: Öffne auf deinem Webspace die Datei pwv.php im Ordner include und wiederhole dort Schritt 5
Gibt es Fehler bei der Installation? Downloade dir die "Manuelle Konfiguration". In dieser ist eine SQL-Datei die du in deine MySQL-Datenbank importieren musst. Die SQL-Datei erstellt die Tabellen ("1_main" und "1_user") mit Grund-Einstellungen die du noch anpassen musst. Zu dem werden noch 3 User angelegt. Ein (Super-)Administrator, ein User-Administrator und ein Mitglied. Die Standard-Logindaten sind die aus der DEMO (siehe oben). Zum Schluss musst du noch deine MySQL-Verbindungs-Daten noch in der "config.inc.php" Datei ändern (im Ordner expand zu finden). Nun kannst du das Installations-Verzeichnis löschen.
Ich übernehme keine Garantie das das Loginsystem überall richtig Funktioniert!
Da die Datei zu groß ist um diese hier an zu hängen habe ich zwei download Möglichkeiten angegeben.
Ich hoffe das es dieses mal keine Probleme gibt
Viele Grüße
Marlight
[CHANGELOG AUF 1.3.3] - CSRF Schutz überarbeitet und Bugs behoben
- E-Mail Header überarbeitet, E-Mails landen nicht mehr so schnell im SPAM!
- Links in den E-Mails zum Aktivieren eines Kontos oder zum ändern des Passwortes, können nun angeklickt werden.
- Installation leicht überarbeitet
[CHANGELOG AUF 1.3.2]
- Funktion "check_email" geändert
- Bug bei der "Passwort vergessen?" Funktion behoben (Trat nur vereinzelt auf)
- Funktion "Benutzer anlegen" in der Userverwaltung hinzugefügt
[CHANGELOG AUF 1.3.1] - Bug in der functions.inc.php behoben
- Captcha Bug in der Standard-Version behoben
- Font-Awesome Icons auf 4.3 upgedatet (Nur Bootstrap-Version)
[CHANGELOG AUF 1.3] - Sicherheitsmaßnahmen gegen CSRF ergriffen
- Sicherheitsmaßnahmen gegen XSS ergriffen
- Sicherheitsmaßnahmen gegen SQL-Injection ergriffen
- Bootstrap-Design hinzugefügt
[CHANGELOG AUF 1.2.2Beta] - Eingeloggte User werden automatisch ausgeloggt, sobald Sie deaktiviert oder gelöscht werden
[CHANGELOG AUF 1.2.1Beta] - Fehler bei Schritt 4 der Installation behoben
- E-Mail-Überprüfung geändert, somit für mehr PHP-Versionen Fehlerfrei
- Captcha-Bug behoben
Hallo ich grüße dich,
ich könnte echt deine hilfe brauchen, das mit der datenbank klappt nicht bei mir. kannst du mir vielleicht da weiterhelfen.
>> phpmyadmin läuft nicht auf meinen pc
ich wäre dir mega dankbar für den rest deines login script
Ich hab mir die Daten zum testen auf meinen Webspace hochgeladen und wenn ich jetzt einen Benutzer regestrieren will steht da "Diese Funktion ist nicht erlaubt in der Demo!".
Was kann ich machen damit es funktioniert?
Da hat Marlight die Demo-Version hochgeladen. Entweder wartest du, bis er es fixxt. Oder du machst dich selber an die Arbeit und suchst, wo diese Meldung ausgegeben wird (im Script, dass aufgerufen wird, steht ja mal wohl fest).
Orginal von julian567
Ich hab mir die Daten zum testen auf meinen Webspace hochgeladen und wenn ich jetzt einen Benutzer regestrieren will steht da "Diese Funktion ist nicht erlaubt in der Demo!".
Was kann ich machen damit es funktioniert?
Danke im Voraus
julian567
Indem du die Demo Version wieder auf eine Vollversion umschreibst.
Das mit mymegaupload.com ist doch ein schlechter Witz?!?! Wer hat die Seite programmiert? Derjenige weißt schon, dass er dort fälschlicherweise Copyright für die Seite ausgibt, aber selbst das Copyright von jemand anderes verletzt?!? Ich würde die Seite aber mal schnell vom Netz nehmen bevor da noch jemand die Betreiber Abmahnt. Ist aber auch echt Dreist so etwas zu machen. Die sollten sich mal eigene Ideen suchen.
Das Loginskript habe ich jetzt mal getestet und kann von dem Einsatz nur abraten. Schade. Muss ich wohl noch weiter suchen.
Ich hab mich sowieso gefragt warum das hier nicht einfach als Ahnang eingestellt wurde. Statt auf einer Fremden Seite irgend ein Download.
Zitat:
Das mit mymegaupload.com ist doch ein schlechter Witz?!?! Wer hat die Seite programmiert? Derjenige weißt schon, dass er dort fälschlicherweise Copyright für die Seite ausgibt, aber selbst das Copyright von jemand anderes verletzt?!? Ich würde die Seite aber mal schnell vom Netz nehmen bevor da noch jemand die Betreiber Abmahnt. Ist aber auch echt Dreist so etwas zu machen. Die sollten sich mal eigene Ideen suchen.
Das Loginskript habe ich jetzt mal getestet und kann von dem Einsatz nur abraten. Schade. Muss ich wohl noch weiter suchen
Ich denk mal keiner aus dem Forum hier. Das wird eine der vielen Download Webseiten sein die es im Netz gibt. Über eine Seite wurde auch ja oft in der Zeitung berichtet die soll ja nun wieder offen sein.
Mfg Splasch
Post wurde schon 1x editiert, das letzte mal am 03.03.2013 um 16:06 von splasch
Orginal von splasch
Ich hab mich sowieso gefragt warum das hier nicht einfach als Ahnang eingestellt wurde. Statt auf einer Fremden Seite irgend ein Download.
Zitat:
Das mit mymegaupload.com ist doch ein schlechter Witz?!?! Wer hat die Seite programmiert? Derjenige weißt schon, dass er dort fälschlicherweise Copyright für die Seite ausgibt, aber selbst das Copyright von jemand anderes verletzt?!? Ich würde die Seite aber mal schnell vom Netz nehmen bevor da noch jemand die Betreiber Abmahnt. Ist aber auch echt Dreist so etwas zu machen. Die sollten sich mal eigene Ideen suchen.
Das Loginskript habe ich jetzt mal getestet und kann von dem Einsatz nur abraten. Schade. Muss ich wohl noch weiter suchen
Ich denk mal keiner aus dem Forum hier. Das wird eine der vielen Download Webseiten sein die es im Netz gibt. Über eine Seite wurde auch ja oft in der Zeitung berichtet die soll ja nun wieder offen sein.
Mfg Splasch
Die Webseite hieß megaupload und nicht mymegaupload. Diese Seite da ist eine schlechte und zudem dreiste Kopie von der original Webseite von Kim Dotcom, also megaupload.
Diese ist auch nicht wieder online, sondern sein neuer Dienst mega.co.nz.
Muss sagen, dass ich diese Kopie auch schon vorher mal hier irgendwo im Forum gesehen hab. Finde ich schon echt arm Ideen von anderen zu klauen und zu denken die Seite würde erfolg haben, nur weil sie genau so wie megaupload aussieht und fast genau so heißt.
Naja, wem nichts eigenes einfällt, der muss halt klauen.
Tut mir leid das es mit dem alten System so viele Probleme gab
Deshalb habe ich nun ein neues Programmiert, da die Datei zu Groß ist um sie hier als Anhang anhängen zu können,
biete ich zwei Wege an um dies zu downloaden, 1. von meiner eigenen Homepage und zum zweiten von einer Cloud.
ich wollte gerne dein Skript testen, aber bei mir läuft es nicht richtig. die verlinkten Seiten stelle die Buchstaben äöü und andere Sonderzeichen immer als ? Fragezeichen dar.
Außerdem werden viele andere Funktionen nicht richtig dargestellt.
Benutzt habe ich die Version 1.2 und auch 1.2.1.
Ich kann leider nur die PHP Version 5.3 oder 5.5 verwenden und bei beiden ist das selbe Problem.
Woran kann es liegen?
Muss ich noch irgendwo was einstellen?
@mjc-jugend:
Wenn ich mir deinen Quelltext ansehe, fällt mir der Fehler schon auf, warum deine Seite die Umlaute nicht darstellt.
Setze den nachfolgenden Code in den <head></head> Bereich deiner Webseite und lösche bitte diesen Code aus der ersten Zeile:
PHP
1:
2:
3:
4:
5:
<!-- Entferne bitte diesen Code aus der ersten Zeile deiner HTML / PHP Datei -->
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<!-- Füge bitte diesen Code in den <head></head>-Bereich deiner HTML / PHP Datei am besten noch vor dem <title></title> Bereich -->
<meta charset="utf-8">
Nachfolgend, habe ich gesehen das der Code auch in Zeile 12 besteht. Entweder ersetzt du diesen mit dem Code den ich dir gegeben habe, oder aber auch diesen löschst du aus deinem Code.
Orginal von Htaccess
@mjc-jugend:
Wenn ich mir deinen Quelltext ansehe, fällt mir der Fehler schon auf, warum deine Seite die Umlaute nicht darstellt.
Setze den nachfolgenden Code in den <head></head> Bereich deiner Webseite und lösche bitte diesen Code aus der ersten Zeile:
PHP
1:
2:
3:
4:
5:
<!-- Entferne bitte diesen Code aus der ersten Zeile deiner HTML / PHP Datei -->
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<!-- Füge bitte diesen Code in den <head></head>-Bereich deiner HTML / PHP Datei am besten noch vor dem <title></title> Bereich -->
<meta charset="utf-8">
Nachfolgend, habe ich gesehen das der Code auch in Zeile 12 besteht. Entweder ersetzt du diesen mit dem Code den ich dir gegeben habe, oder aber auch diesen löschst du aus deinem Code.
Gruß,
Htaccess
Hallo Htaccess,
danke für deine Rückantwort, diese Zeile war nur zum testen drin. Die Seite um die es hier ging habe ich inzwischen nach http://www.marken-wall.de/bilder/ verschoben.
Schau dir mal allgemein die ganzen Links dort an.
Muss ich da etwas in der php.ini einstellen damit sich da was ändert oder woran liegt das, dass er mir das alles nicht richtig dar stellt?
Mit den Umlauten passiert es immer wenn ich eine neu Seite über das Menü hinzufüge auch wenn der Meta Satz so drin steht oder auch ganz raus ist. Z.B. auf der Home Seite habe ich einfach nur Schön geschrieben und der Zeigt irgendein Zeichen anstatt ö.
Ich möchte dich jetzt nicht persönlich angreifen oder so, aber was zur Hölle ist das? Das kann man schon als eine der wohl schlimmsten Struktur in der Programmierung im Web betiteln.
Wenn dein Code Semantisch wäre, würde solche Fehler gar nicht auftauchen. Wenn du mir via PM deinen Code zusendet könntest / würdest, dann könnte ich deine Fehler wohl ausbessern und es so hinbekommen, das es sauber und vernünftig nach dem heutigen Standard ausgegeben wird.
Orginal von Htaccess
Ich möchte dich jetzt nicht persönlich angreifen oder so, aber was zur Hölle ist das? Das kann man schon als eine der wohl schlimmsten Struktur in der Programmierung im Web betiteln.
Wenn dein Code Semantisch wäre, würde solche Fehler gar nicht auftauchen. Wenn du mir via PM deinen Code zusendet könntest / würdest, dann könnte ich deine Fehler wohl ausbessern und es so hinbekommen, das es sauber und vernünftig nach dem heutigen Standard ausgegeben wird.
Du brauchst mich auch nicht angreifen der Code ist nicht von mir, ich kenne mich mit PHP so gut wie gar nicht aus. Hab den Code von ganz oben auf dieser Seite herunter geladen. Hab halt nach einem Loginscript über MySQL gesucht um meine Seite etwas zu schützen und bin dabei auf diese Seite gestoßen. Der Code ist also von Marlight.
Oder kennst du ein anderes Loginscript was stabil läuft und vor allem kostenlos ist?
Orginal von Htaccess
Ich möchte dich jetzt nicht persönlich angreifen oder so, aber was zur Hölle ist das? Das kann man schon als eine der wohl schlimmsten Struktur in der Programmierung im Web betiteln.
Wenn dein Code Semantisch wäre, würde solche Fehler gar nicht auftauchen. Wenn du mir via PM deinen Code zusendet könntest / würdest, dann könnte ich deine Fehler wohl ausbessern und es so hinbekommen, das es sauber und vernünftig nach dem heutigen Standard ausgegeben wird.
Du brauchst mich auch nicht angreifen der Code ist nicht von mir, ich kenne mich mit PHP so gut wie gar nicht aus. Hab den Code von ganz oben auf dieser Seite herunter geladen. Hab halt nach einem Loginscript über MySQL gesucht um meine Seite etwas zu schützen und bin dabei auf diese Seite gestoßen. Der Code ist also von Marlight.
Oder kennst du ein anderes Loginscript was stabil läuft und vor allem kostenlos ist?
Marius hilf mir doch mal
Ich hatte dir über Kontaktformular eine Nachricht geschickt gehabt, warum meldest du dich nicht?
Du wolltest doch Kritik und Fehlermeldungen...
Post wurde schon 1x editiert, das letzte mal am 16.07.2014 um 20:37 von mjc-jugend
hy leute weis nicht ob mir einer helfen kann aber were super habe das script bei mir aufen linux drauf
leuft auch so gut wie alles nur wen mann sich regestrieren will kommt das
Du must alle Felder ausfüllen, damit du dir einen Account erstellen kannst!
und habe kein plan gerade was ich noch machen kann
damit es geht