Martin: Cookies

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

  1. 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

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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.

      1. 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

        --
        [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
          Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
          Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. 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 ;)

  2. 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!

    • includes und Deklarationen von Variablen und Konstanten
    • Definition der zusätzlcih benötigten Funktionen
    • Script-"main". Hier wird alles berechnet etc.
    • Script-"output" Erst hier finden die vorberechneten HTML-Ausgaben statt

    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

    --
    [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
      Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
      Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen