Avatar billede heyde Nybegynder
28. november 2003 - 14:14 Der er 17 kommentarer og
1 løsning

Problem med Session (og php.ini?) på localhost

Hejsa,
Jeg håber at der er nogen der kan hjælpe mig med dette problem, da jeg er MEGET træt af at skulle uploade til en ftp server hver gang min kode skal testes.

Jeg har nedenstående kode, som i øjeblikket bare er en simpel test der skal føre til et login system.

Når jeg kører koden på localhost er det som om at $_SESSION aldrig bliver sat. Det er i hvert fald det koden fortæller mig på resultatsiden.
Dette problem har jeg dog ikke når jeg uploader de samme filer til den ftp hvor hele sitet skal uplaodes når det er færdigt.

Er der mon noget der skal rettes i php.ini? Jeg har prøvet at kigge den igennem, men kunne ikke lige gætte mig til hvad det skulle være.

Lidt fra php.ini:
session.save_path = C:/temp (mappen eksisterer)
register_globals = On

=== setSession.php ===
session_start();
$_SESSION['id'] = '1';

header("Location: default.php");
exit;
======================

=== default.php ===
session_start();
if (isset($_SESSION['id']))
{
  print "Session id: " . $_SESSION['id'];
}
  ELSE
{
  print "Ingen session!";
}
===================

Som sagt er beskeden på localhost "Ingen session", og på ekstern ftp er den "Session id: 1"
Avatar billede erikjacobsen Ekspert
28. november 2003 - 14:16 #1
kører du IIS
Avatar billede heyde Nybegynder
28. november 2003 - 14:19 #2
jeps
Avatar billede erikjacobsen Ekspert
28. november 2003 - 14:21 #3
Ok, der er en velkendt "gammel" fejl i IIS, som gør at man ikke kan sætte
en cookie (som din session bruger), samtidig med en redirect.

Prøv at lave din første side om, så der en link du skal trykke på for at komme videre.

Den nyeste IIS har vist nok ikke denne fejl. Ellers er Apache jo altid en løsning.
Avatar billede heyde Nybegynder
28. november 2003 - 14:22 #4
er det mon muligt at finde den nyeste IIS et sted? Jeg kører winXP...

Jeg prøver lige dit forslag med det samme
Avatar billede morpheus Nybegynder
28. november 2003 - 14:24 #5
Har du prøvet at kigge i $HTTP_SESSION_VARS ?
Avatar billede heyde Nybegynder
28. november 2003 - 14:26 #6
hvad er det???
Avatar billede heyde Nybegynder
28. november 2003 - 14:31 #7
erik:
Det ser desværre ikke ud til at hjælpe at jeg fjerner header og exit.

Jeg lavede disse ændringer i min kode:
print 'You have been logged in with this ID: ' . $_SESSION['id'] . '"<br>';
print 'Click [<a href="default.php"> here </a> ] to go to the front page...';
/*
header("Location: default.php");
exit;
*/

Ovenstående skriver det rigtige session id, men det eksisterer stadig kun på default.php, når jeg har uploadet til den eksterne server :(
Avatar billede erikjacobsen Ekspert
28. november 2003 - 14:32 #8
Så prøv $HTTP_SESSION_VARS['id'] i stedet for som foreslået. Hvad er din PHP version?
Avatar billede heyde Nybegynder
28. november 2003 - 14:33 #9
Jeg var bange for at der var en der ville spørge om det ;)
Hvordan checker jeg det? Jeg mener den er ret ny...
Avatar billede heyde Nybegynder
28. november 2003 - 14:35 #10
$HTTP_SESSION_VARS['id'] virker desværre på samme måde for mig :(
Avatar billede erikjacobsen Ekspert
28. november 2003 - 14:37 #11
prøv en fil med

<? phpinfo(); ?>
Avatar billede heyde Nybegynder
28. november 2003 - 14:38 #12
PHP Version 4.0.4pl1
Avatar billede erikjacobsen Ekspert
28. november 2003 - 14:41 #13
øh - står der nogen sjovt om sessions i den der phpinfo?

Det er ikke ligefrem den nyeste PHP, men den går da an.
Avatar billede heyde Nybegynder
28. november 2003 - 14:42 #14
hmm, jeg kan se at der er en nyere version på serveren jeg uploader til. Måske jeg lige skulle installere den nyeste på min localhost
Avatar billede heyde Nybegynder
28. november 2003 - 14:45 #15
Session Support enabled

Directive            Local Value    Master Value
session.auto_start        Off            Off
session.cache_expire      180            180
session.cache_limiter    nocache        nocache
session.cookie_domain    no value        no value
session.cookie_lifetime    0              0
session.cookie_path        /              /
session.cookie_secure    Off            Off
session.entropy_file    no value        no value
session.entropy_length    0              0
session.gc_maxlifetime    1440            1440
session.gc_probability    1              1
session.name            PHPSESSID        PHPSESSID
session.referer_check    no value        no value
session.save_handler    files            files
session.save_path        C:/temp          C:/temp
session.serialize_handler php              php
session.use_cookies      On              On
Avatar billede heyde Nybegynder
28. november 2003 - 14:55 #16
WOOHOO!
Det hjalp vist at bruge en nyere version af PHP.
I får lige lidt point begge to, som tak for hjælpen :)

...hvis I altså smider et svar
Avatar billede erikjacobsen Ekspert
28. november 2003 - 14:58 #17
Nej tak - jeg fandt ikke dit problem
Avatar billede heyde Nybegynder
28. november 2003 - 15:03 #18
ok, så snupper jeg dem selv igen :)

Men du skal have mange tak for forsøget alligevel!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester