Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\sessiontest\sessionside1.php:4) in c:\apache\htdocs\sessiontest\sessionside1.php on line 6
Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\sessiontest\sessionside1.php:4) in c:\apache\htdocs\sessiontest\sessionside1.php on line 6 udskrift af session var: min sesssion variabel Session side 2
Årsagen til det er, at når du starter en session med session_start(), så sætter den en cookie på brugerens computer. En cookie bliver sat ved hjælp af en HTTP header (HTTP er protokollen der benyttes til at transportere data på WWW). En header _skal_ sendes inden noget indhold bliver sendt. Så problemet består i, at du udskriver "<html>" og "<body" som bliver sendt til klienten, og derefter starter din session, som forsøger at sætte en cookie med en header. Ergo får du fejl.
Tak for din uddybende forklaring jakobsynder. Jeg troede at hvis jeg brugte session på den måde jeg lavde min test, så undgik jeg at placere en cookies på en klient computer. Vil det så sige at hvis en klient har slået cookies fra så virker siden ikke?
Hvis det er tilfælde hvorledes kan jeg så lave sessions uden at placere cookies på klient computeren?
Jeg vil ellers gerne ombestæmme mig og dele points mellem jer hvis det har interesse. (kræver et svar)
Det vil det som udgangspunkt sige ja. En webserver er ikke i stand til at 'huske' connections. Den modtager en forespørgsel og sender et svar. Derfor er der kun få måder hvorpå man kan "simulere" at den husker det. Cookies, GET eller POST. Alt data indeholdt i en session bliver gemt på webserveren. For at den ved hvilken session der tilhører hvilken bruger, bliver der gemt et unikt ID hos brugeren. Per default bliver det gemt i en cookie, men PHP kan også gemme det via GET, altså som en querystring.
Det kan man sagtens jo. Men princippet er det samme, du gør bare manuelt hvad PHP kan gøre for dig. Du gemmer data i en database og tildeler det et id. Det id skal gemmes hos brugeren på en eller anden måde, så du kan genkende vedkommende. Det kan du gøre ved at gemme id'et i en cookie (det vil du undgå) eller ved at medsende det som querystring i hvert eneste link. Så alle dine links ville skulle se ud som følger: <a href='side.php?id=[unikt_bruger_id]'>beskrivelse</a> - Det er ret overkill. Medmindre du udvikler et eller andet sygt avanceret, tophemmeligt og topsikkert system, så brug du bare cookies. Selv eksperten bruger cookies.
Her er en undskyldning for min forglemmelse. Her er de velfortjente points.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.