Session fejl

Tags:    php

Hej. Jeg er igang med at lave en log ind systen, hvor jeg benytter mig af 3 sider:

Form:
Fold kodeboks ind/udKode 


Check.php, som checker om det er det rigtige kodeord og derefter laver en session og sender en videre til oversigt.php:
Fold kodeboks ind/udKode 



Og så oversigt.php:
Fold kodeboks ind/udKode 


Men problemet er at sessionen ikke gider at blive gemt i check.php. Jeg bliver sendt videre til oversigt.php men derfra får jeg beskeden:
Du er ikke logget ind.
Hvad gør jeg galt?

I up.php har jeg husket at skrive skrive:
<?
session_start();
?>

30 up på spil



8 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Så har vi fået det løst. Problemet var at han sendte headers, før at han satte sine sessions.



Altså, du kunne evt. prøve at skrive session_start(); i check.php lige for at se om den renfaktisk også bliver aktieret igennem up.php.

Ved ikke om den kan fange det med include(). Ser det som den eneste muglihed.




prøv at lave noget enkelt til at starte med. f.eks.

Fold kodeboks ind/udKode 


Hvis dette virker, så prøv at sæt noget i sessionen, og kald en ny side. f.eks.

side1.php
Fold kodeboks ind/udKode 


side2.php
Fold kodeboks ind/udKode 


Hvis dette også virker, så burde der ikke være noget i vejen med din server... udover at den måske ikke kan finde din include?

Prøv i din <? include("../up.php"); ?> at lave en echo, bare for at se at den bliver kaldt. Udover det, så plejer jeg at bruge require("filnavn her") hvis det er noget jeg skal have med. require() gør, at siden ikke loader videre, hvis den ikke kan finde filen (eller der er en fejl i den).

Så prøv eventuelt at gøre det også.

Noget helt andet: Hvorfor bruger du et javascript til at sende brugeren videre? Hvad nu hvis jeg har disablet javascripts i min browser?
Du kalder
Fold kodeboks ind/udKode 


når du ligeså godt kunne bruge php's function header(""); f.eks.
Fold kodeboks ind/udKode 


Jeg mener også at, du ikke går tilbage til din check.php, hvis brugeren trykker på browserens "tilbage" knap. Derimod lander han på din "form"-side. (Jeg sagde som sagt "mener", men du kan jo prøve det af.)



Altså har også prøvet lidt at prøve på den måde, men uden resultat... :S



Jeg har også haft det samme problem.
Jeg har prøvet at undersøge det, men det jeg har fundet ud af, har ikke hjulpet mig særligt meget.
Prøv at tjekke http://php.net/session_write_close.
Jeg mener også at have læst at session ikke ville virke hvis session.use_cookie, i php.ini, ikke var slået til.



Indlæg senest redigeret d. 28.05.2007 23:37 af Bruger #3884
Hmm hvis jeg prøver at udskrive indholdet ad sessionen admin på check.php står der: 1.

Men hvis jeg udskriver den på oversigt.php står der ingenting. Rigtig underligt!



Og så lige en andn ting. Lige pludselig virkede systemet en gang, og pludselig virker det ikke igen...

Det er skide underligt :S



Hmm jep. Tak. Hmm jeg ante ikke at man ikke ingang måtte have et mellemrum før session_start skrives... :)



t