LoginSystem anpassen! Wer hilft mir?

piumer

Mitglied
Hallo, ich habe leider noch nicht viel Erfahrung mit PHP. Deshalb würde ich mich sehr freuen, wenn mir jemand etwas helfen könnte.

Ich möchte gern das Login-System [PHP/mySQL] Login-System mit Sessions von Karl Förster, zu finden hier unter Tutorials, in meine Website verwenden. Doch leider habe ich da ein par Anpassungsprobleme.

Meine Site verwendet nämlich keine Frames. Sondern ich lade alle Inhalte per Link aus verschiedenen PHP-Dateien. Die Inhalte werden dann in einer Tabelle auf der index.php geladen.

Mein Login-Formular befindet sich ebenfalls auf der index.php. Ich möchte nun also, wenn sich jemand einloggt, die Userdaten, in einer Tabelle stehen, die sich über der Tabelle befindet, in der sämtliche Inhalte geladen werden. Sonst soll da halt Gast stehen oder so.

Ich weiss nun nicht, wie ich die Ziel-links setzen soll, auf die nach erfolgreichem Link gesprungen wird. Und eine formular.php habe ich ja auch nicht, da sich das Login-Formular ja auch auf der index.php befindet.

Wenn Ihr euch das Script unter Turorials anschaut, dann wisst Ihr sicher, wie ich das meine.

Also, wer hilft mir? Ich wäre euch sehr dankbar und freue mich auf eure Hilfe

Gruß piumer
 
Letzendlich ist es total egal ob du eine formular.php hast oder nicht ... das Formular kann sein wo es will, hauptsache ist, dass die entsprechenden Daten auch an die richtige Datei geschickt werden.

Wo benutzt denn das Script Frames? Dadurch, dass du immer über eine Datei index.php gehst macht es das ganze ja noch viel einfacher. Sehe ich das richtig, dass du die index.php z.B.so aufrufst? : index.php?page=kontakt
Dann hast du ja sicherlich eine datei kontakt.php oder so, welche du in der index.php includest? Am besten du machst in die index.php ganz oben das session_start(); rein.
Erstmal kurz soweit, weil ich grad unter Zeitdruck stehe. Ich schau hier später nochmal rein.
 
Fehlermeldung sessionstart

Hallo Herr Förster, (oder darf ich Sie dutzen? Ich biete Ihnen jedenfalls das Du an)

Erstmal danke, dass Sie mir sogar persönlich helfen.


Egal, wo ich den session_start() hinsetze, ich bekomme immer die Fehlermeldung:

Warning: Cannot send session cookie - headers already sent by (output started at C:\FoxServ\www\meinePage\index.php:1) in C:\FoxServ\www\meineOage\index.php on line 53

Genau wie sie es im Beispiel dargestellt haben, rufe ich meine Seiten auf.

Und was muss ich denn dann in der login.php an der stelle für

header ("Location: index.php"); angeben?

MfG piumer
 
Das session_start() muss ganz oben aufgerufen werden, also vor jedweder Ausgabe (kein HTML, kein Leerzeichen usw. darf zuvor ausgegeben werden!).
Aufpassen muss man hierbei auch, dass man keine Dateien vor session_start() includet, in denen Ausgaben stattfinden...
 
Fehler is weg, aber.....

So, danke an ludz, habe session_start() jetzt gleich in die erste zeile gesetzt, nun ist die Fehlermeldung weg.

Aber.

Wenn ich mich nun einlogge passiert eigentlich gar nichts. Es steht immer noch da ausgeloggt Was ist denn nun wieder?
Hab nochmal alles nachgeschut, kann aber einfach nichts finden, woran es liegen könnte.

Er müsste doch erstmal die Benutzerdaten des eingeloggten anzeigen!

MfG Piumer
 
Wie sieht es denn in deinem Browser mit der Annahme von Cookies aus? Das LoginScript hat zur Zeit noch Probleme wenn man keine Cookies annimmt. Besonders im IE6 ist das Problem wenn man den Regler unter "Datenschutz" auf normal lässt. Ich umgehe das im Moment so, dass ich die SessionID bei jedem Link anhänge. Ist zwar ein wenig Arbeit aber dafür funktioniert das jetzt auch so ziemlich immer.

Wenn das nicht das Problem war, dann sollte man mit der Fehlersuche von dort anfangen wo es anfängt. :D also von der Datei, wo die Variablen in die Session geschrieben werden sollen. Überprüfe in der Datei, zu welcher du dann geleitest wirst (nach dem Login) ob dort die Session noch da ist.
 
Hm, net

Mein IE hat durchaus Probleme mit cookies, verwende hier aber den Firefox, bei dem ich sämtliche cookies erlaubt habe.

Wenn ich mich eingeloggt habe, sehe ich auch in der url, wie er den Link setzt, wie er es soll, also bei mir:

http://localhost/meinePage/index.php?status=intern&Array

Das &Array kommt, wenn ich also in der login.php die session_id mit
übergebe:

header ("Location: index.php?status=intern&$data");

So sollte ich das doch machen?
 
Re: Hm, net

Original geschrieben von piumer
Wenn ich mich eingeloggt habe, sehe ich auch in der url, wie er den Link setzt, wie er es soll, also bei mir:

http://localhost/meinePage/index.php?status=intern&Array

Das &Array kommt, wenn ich also in der login.php die session_id mit
übergebe:

header ("Location: index.php?status=intern&$data");
Was steht denn alles in $data drin? Da es ja anscheinend ein Array ist, musst Du auch auf die Array-Werte zugreifen, und nicht auf das gesamte Array an sich.

PHP:
<?php echo print_r($data);
sollte helfen um dir den Inhalt mal anzuzeigen.
 
Re: Nur 1

Original geschrieben von piumer
Da steht einfach nur 1 drin!
Na ja, vielleicht wäre jetzt mal ein wenig Code von Deiner Version hilfreich. Hab mir gerad auch nochmal das Tutorial angesehen: Explizit für Frames ist das eigentlich nich gerade.
 
Zurück