Komfortables Login

fizzle

Gesperrt
Hallo,
(vorweg ich kann PHP und habe auch mySql Grundwissen).

Ich brauche für meine Seite ein recht gutes Login, wo sich Gäste registrieren können, ihr passwort festlegen können usw. (und natürlich gleich alle für sie bestimmten Bereiche aufrufen...). Wenn sie sich registriert haben soll ihr Name und mail usw. in einer Memberliste auftauchen ...
Wo kann ich dafür eine Tutorial finden? (Ich meine nicht dass ich ein fertiges Script haben will)?
 
Hi!

Wenn Du dich schon mit PHP auskennst, dann sollte das doch kein Problem werden!

Zunächst kannst Du als Grundlage das Tutorial hier benutzen:
http://www.tutorials.de/tutorials9684.html

Die Daten dieser Tabelle kannst Du dann in der Userliste, oder jeder anderen Seite abfragen.

Wenn Du den Usern auch noch eine Rang zuweist (User, Admin, etc.) kannst Du die anzuzeigenden Elemente einer Seite noch selektieren. (Administrative Funktionen sollen die User natürlich nicht vorgesetzt bekommen.;)

Fang doch erstmal mit dem Tut an. Wenn Du dann nicht weiterkommst findest Du hier bestimmt auch weitere Hilfe;) .
 
Erst einmal Danke. Habe jetzt schon was.

>>>Wenn Du den Usern auch noch eine Rang zuweist (User, Admin, etc.) kannst Du die anzuzeigenden Elemente einer Seite noch selektieren. (Administrative Funktionen sollen die User natürlich nicht vorgesetzt bekommen.

Wie mache ich das genau?
 
Zunächst brauchst Du eine zusätzliche Spalte in der User-Tabelle.
Wie Du dann die Ränge aufteilst, oder benennst hängt von der Komplexität Deiner Seite zusammen.
Normalerweise mache ich eine dreiteilung:
User:
darf normalerweise nur lesen und ggf. im Forum Posten.
Moderator:
Helfer auf der Seite. Hat Editierrechte im Forum und kann z.B. News posten, Dateien im Downloadbereich verwalten.
Administrator:
Normalerweise nur der Betreiber der Seite. Kann alles editieren, löschen, erstellen.

Den Rang eines Users liest Du gleich nach dem Login in eine Session-Variable. So steht Dir der Rang für Abfragen immer bereit.
Eine Abfrage könnte ganz vereinfacht so aussehen:
<?
if($user_rang=="Admin")echo "<a href='allesplattmachen.php'>alles löschen</a>";
?>

Berwirgt, dass der Link nur angezeigt wird, wenn der Rang des Users "Admin" ist.
 
Danke. Ich habe jetzt eigentlich alles was ich will. Es funktionier auch alles.
Nur wenn ich z.B. intern.php auf meine Seite einbinde (<a href=index.php?path=login/intern.php>Petra</a>) dann kommt, wenn man eingeloggt ist auch die Seite darüber nur mit folgender Fehlermedung darüber:"Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/www/web293/html/10markde/index.php:34) in /home/www/web293/html/10markde/login/checkuser.php on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/web293/html/10markde/index.php:34) in /home/www/web293/html/10markde/login/checkuser.php on line 2"

Die Seite wird auch angezeigt (ohne Inhalt natürlich) auch wenn man nicht eingeloggt ist, anstatt, dass eine Umleitung zu formular.php statt findet.

Andre Seiten, die sich nicht im login Verzeich is befinden, werden gar nicht angezeigt und es kommt folgende Fehlermeldung:"Warning: main(index.php?path=login/checkuser.php): failed to open stream: No such file or directory in /home/www/web293/html/10markde/news/eintragen.php on line 2

Warning: main(): Failed opening 'index.php?path=login/checkuser.php' for inclusion (include_path='.:/usr/share/php') in /home/www/web293/html/10markde/news/eintragen.php on line 2"

Könntest du mir da mal helfen?
 
Hallo!

Das mit den "headern" ist ein bekanntes Problem!
In der PHP-FAQ im PHP-Forum ist es auch aufgelistet.
http://www.tutorials.de/tutorials128581.html

Wichtig ist, dass der Aufruf session_start() als ALLERERSTES in der Datei steht!
Bevor du irgendeine Datei includest oder sonstwas.
Also so:
<?
session_start();

blabla
?>

Bei den Fehlermeldungen beim "Includen" vermute ich mal einen Schreibfehler, u.U. Groß- und Kleinschreibung nicht beachtet, o. ä.

Prüf das doch noch einmal durch. Oft sind die fiesesten Fehler auch die kleinsten.:-)
 
Ähm danke, aber ich habe noch nicht so ganz verstanden, wie das jetzt machen muss mit ob_start() und ob_end_flush().
Könntest du mir vielleicht sagen, wo ich das schreiben muss und wie das ganze dann aussieht bitte (vielleicht ein Beispiel..)?
 
Zurück