Cookies
Martin
- php
hallo zusammen,
hab ein cookie Problem bzw. eine Frage. Hab bisher noch nie mit cookies gearbeitet. Wollte allerdings einen geschützten Bereich anlegen, zu dem man nur mit Usernamen und Passwort zutritt erhält. Dies ist alles in einer Datenbank. Mein bisheriges vorgehen sieht so aus.
Ich prüfe ob ein cookie vorhanden ist, falls ja vergleiche ich ihn mit den Einträgen aus der Datenbank.
Ist keiner vorhanden, soll der login screen erscheinen. Stimmen die Eingabedaten mit der Datenbank überein, so werden zwei cookies angelegt für username und das verschlüsselte Passwort.
Soweit bin ich eigentlich auch noch relativ gut klargekommen.
Doch nun zu meinem Problem. Sobald ich die login datei in die Seite include und mich anmelde erscheint die Fehlermeldung:
Warning: Cannot add header information - headers already sent by (output started at /home/black-test/htdocs/index.php:5) in /...
OK die Meldung ist mir auch klar, da der Cookie im Header mit stehen muß. Allerdings wie realisiere ich das denn nur? Vielleicht steh ich auch nur ein wenig auf der Leitung :( aber der login Bereich soll halt in die normale Seite mit eingebaut werden so oben links z.b.
Danke
Hi,
Ist keiner vorhanden, soll der login screen erscheinen. Stimmen die Eingabedaten mit der Datenbank überein, so werden zwei cookies angelegt für username und das verschlüsselte Passwort.
ein Cookie mit der Session-ID.
OK die Meldung ist mir auch klar, da der Cookie im Header mit stehen muß. Allerdings wie realisiere ich das denn nur?
Indem Du erst dann Nicht-Header-Zeichen ausgibst, wenn Du *weißt*, dass Du keinen Header mehr schreiben musst.
Cheatah
ein Cookie mit der Session-ID.
ok wie fügt man denn so einen ein? Sorry aber bin nicht so der php´ler
Indem Du erst dann Nicht-Header-Zeichen ausgibst, wenn Du *weißt*, dass Du keinen Header mehr schreiben musst.
guter Tipp ;) Nur hat sich die Seite eben entwickelt und die Funktion wird erst im Nachhinein eingefügt bzw. hab es so vor.
Hello,
ein Cookie mit der Session-ID.
ok wie fügt man denn so einen ein? Sorry aber bin nicht so der php´ler
Einfach durch session_start(). Den Rest macht PHP. Hast Du dir denn die Sessionfunktionen wenigstens mal alle vorher abgeguckt, bevor Du loslegst zu entwickeln?
http://de3.php.net/manual/de/ref.session.php
Indem Du erst dann Nicht-Header-Zeichen ausgibst, wenn Du *weißt*, dass Du keinen Header mehr schreiben musst.
guter Tipp ;) Nur hat sich die Seite eben entwickelt und die Funktion wird erst im Nachhinein eingefügt bzw. hab es so vor.
Deshalb solltest Du Deine Seite ja streng gliedern, also endlich mal aufräumen. Sonst steigst Du bald gar nicht mehr durch.
Liebe Grüße aus http://www.braunschweig.de
Tom
Einfach durch session_start(). Den Rest macht PHP. Hast Du dir denn die Sessionfunktionen wenigstens mal alle vorher abgeguckt, bevor Du loslegst zu entwickeln?
ich gucks mir mal an. Die Seite ist halt gewachsen...
Deshalb solltest Du Deine Seite ja streng gliedern, also endlich mal aufräumen. Sonst steigst Du bald gar nicht mehr durch.
ist ja eigentlich schon gegliedert. Alles wird included oder aus der DB generiert. Ich hoff es klappt mit der session ;)
Hello,
Warning: Cannot add header information - headers already sent by (output started at /home/black-test/htdocs/index.php:5) in /...
OK die Meldung ist mir auch klar, da der Cookie im Header mit stehen muß. Allerdings wie realisiere ich das denn nur? Vielleicht steh ich auch nur ein wenig auf der Leitung :( aber der login Bereich soll halt in die normale Seite mit eingebaut werden so oben links z.b.
Ganz einfach. Räum deine Seiten auf!
Wenn Du dich strikt an diese Struktur hältst, kann eigentlich nicht mehr viel schief gehen. Dazu sollten Funktionen auch strikt funktional arbeiten und nicht selber Ausgaben tätigen. Sie soltlen ihr Arbeitsergebnis immer als Array oder Byte-Stream zurückgeben.
Liebe Grüße aus http://www.braunschweig.de
Tom