Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:10 Der er 34 kommentarer og
1 løsning

Sessions virker ikke i Windows?

I forsøg på at hjælpe en anden med at lave noget login via sessions, er det gået op for mig at der er et problem.
Er der forskel på den måde sessions bliver håndteret i Windows og Linux, da jeg har testet samme script på begge typer, med samme opsætning, og det ikke virker på windows?
Nogen der har en ide?
Avatar billede drinkit Praktikant
08. juli 2003 - 17:12 #1
Ja, det vil jeg også gerne vide *Lytter med* !
Avatar billede zeta Nybegynder
08. juli 2003 - 17:17 #2
og mig :)
Avatar billede thesurfer Nybegynder
08. juli 2003 - 17:18 #3
sessions burde virke på windows.. jeg har lige lavet et login script via access og cookies i winxp
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:19 #4
Ah beklager, jeg glemte helt at oplyse at vi taler om Apache / PHP.
Avatar billede thesurfer Nybegynder
08. juli 2003 - 17:21 #5
altså, jeg checker username og password fra access database, og gemmer i en cookie..
det skulle bruges til at beskytte nogle filer.. siderne check cookiens værdi for at se om der skal gives tilladelse til at vise siden.. og det virkede meget fint..
Avatar billede ahv Nybegynder
08. juli 2003 - 17:21 #6
Sessions virker udemærket på Windows.
Kan det være opsætningen på LInux maskinen er ældre, så den ikke har de ændreinger der er sat per default i nyere versioner af PHP?
Kan du vise os lidt kode?
Avatar billede thesurfer Nybegynder
08. juli 2003 - 17:21 #7
ah.. apache/php.. ved det ikke.. men det burde da virke..
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:22 #8
Hehe ja, præcis hvad jeg tænkte. Det burde virke.
Jeg har bare aldrig haft noget liggende på windows maskinen der benyttede sessions, og derfor har jeg aldrig tænkt over det.
Først nu, da jeg måtte blive en anden bruger svar skyldig mht. hans problemer.
Avatar billede thesurfer Nybegynder
08. juli 2003 - 17:23 #9
Avatar billede thomashove Nybegynder
08. juli 2003 - 17:23 #10
1) kommer der nogle fejlmeddelelser ?
2) må vi se din session-afdeling i php.ini
3) samt hvordan du bruger en session i et script

hvilken windows er der tale om ??
Avatar billede thesurfer Nybegynder
08. juli 2003 - 17:23 #11
se evt side 2 (de er der der sker noget) :)
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:27 #12
thomashove >>
Ingen fejlmeddelser... Hvis der sættes en session i toppen af en side, og den bliver echo'et ud igen længere nede, så virker det fint. Men den kan ikke kalde den igen når der bliver opdateret / skiftet side.
eks.
$_SESSION['test'] = "virker fint";
echo $_SESSION['test'];
Det virker som sagt fint på en linux maskine med samme session indstillinger.
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:28 #13
thesurfer >> Hehe, ellers tak. Det kan jeg ikke bruge til så meget.
Avatar billede ahv Nybegynder
08. juli 2003 - 17:29 #14
har du husket ->

session_start();

i toppen?
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:30 #15
ja selvfølgelig :-)
Som sagt, samme test script virker fint på linux, men ikke på windows.
eksempel:
<?php
session_start();
if($id!=1){
$_SESSION['user'] = "Sessions virker!";
echo "<a href='".$_SERVER["PHP_SELF"]."?id=1'>Klik her for at teste</a><br><br>(Hvis næste side er blank, virker sessions ikke.)";
} else {
echo $_SESSION['user'];
}
?>
Avatar billede ahv Nybegynder
08. juli 2003 - 17:31 #16
Hcor for du $id fra ?
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:31 #17
Fra linket, hehe, det har ikke nogen betydning. Det var bare for ikke at lave 2 filer. Der skulle stå $_GET["id"];
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:37 #18
Hov, undskyld ahv, havde slet ikke set din første kommentar.
Du får lige lidt klip og klister fra en phpinfo() :

session.auto_start Off
session.cache_expire 180
session.cache_limiter nocache
session.cookie_lifetime 0
session.cookie_secure Off
Den bruger cookies, men ikke KUN cookies. Etc.
Skal du bruge mere?
Avatar billede ahv Nybegynder
08. juli 2003 - 17:38 #19
Har du prøvet på win maskinen med ->

<?php
session_start();
if($id!=1){
$user = "Sessions virker";
session_registrer("var");
echo "<a href='".$_SERVER["PHP_SELF"]."?id=1'>Klik her for at teste</a><br><br>(Hvis næste side er blank, virker sessions ikke.)";
} else {
echo $user;
}
?>
Avatar billede ahv Nybegynder
08. juli 2003 - 17:38 #20
Hvad er registrer_globals sat til?
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:38 #21
On
Avatar billede ahv Nybegynder
08. juli 2003 - 17:38 #22
Hov ->

<?php
session_start();
if($id!=1){
$user = "Sessions virker";
session_registrer("user");
echo "<a href='".$_SERVER["PHP_SELF"]."?id=1'>Klik her for at teste</a><br><br>(Hvis næste side er blank, virker sessions ikke.)";
} else {
echo $user;
}
?>
Avatar billede thomashove Nybegynder
08. juli 2003 - 17:38 #23
hmmm jeg har flg. 2 scripts

SCRIPT 1
<?
$_SESSION['test'] = "thomas tester";
echo $_SESSION['test'];
?>

SCRIPT 2
<?
echo $_SESSION['test'];
?>

samt flg. i php.ini

session.save_handler      = files
session.save_path        = c:\test\Sessiondata
session.name              = PHPSESSID
session.auto_start        = 1 
session.cookie_lifetime  = 0
session.cookie_path      = /
session.cookie_domain    =
session.serialize_handler = php
session.gc_probability    = 1
session.gc_maxlifetime    = 1440 
session.referer_check    =
session.entropy_length    = 0
session.entropy_file      =
; session.entropy_length    = 16
; session.entropy_file      = /dev/urandom
session.cache_limiter    = nocache
session.cache_expire      = 180
session.use_trans_sid    = 1
url_rewriter.tags        = "a=href,area=href,frame=src,input=src,form=fakeentry"

og det virker fint på WinXP
Avatar billede ahv Nybegynder
08. juli 2003 - 17:40 #24
Vi skal også ned og have fat på registrer_globals :o) Hvilken værdi har den, er den sat til off, vil det virker med $_SESSION['var'] = "hej"; hvis den er sat til on skal man ->
$var = "hej";
session_regitrer("var");
Avatar billede thomashove Nybegynder
08. juli 2003 - 17:40 #25
he he - godt set ahv (mon det er det)    :-)
Avatar billede ahv Nybegynder
08. juli 2003 - 17:40 #26
$var = "hej";
session_registrer("var");
Avatar billede ahv Nybegynder
08. juli 2003 - 17:42 #27
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:42 #28
ahv - selvfølgelig - du er en banan!
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:43 #29
Tak tak!
Avatar billede thomashove Nybegynder
08. juli 2003 - 17:43 #30
hmmm ahv - med hensyn til register globals on/off - så virker mit eksempel faktisk lige meget hvad den er sat til
Avatar billede ahv Nybegynder
08. juli 2003 - 17:45 #31
Thomas -> sikker?
Jakob -> Takker.
Avatar billede jakobsynder Nybegynder
08. juli 2003 - 17:45 #32
Ja det er nok der mit problem ligger.
For det virker nemlig også på Linux maskinen med globals = On
Men da jeg satte globals til Off på Windows virkede det igen.
Mange tak for hjælpen.

Nu skal jeg bare rydde op i min stakkels overfyldte indbakke.
Avatar billede thomashove Nybegynder
08. juli 2003 - 17:45 #33
yep - har lige testet det.....
Avatar billede ahv Nybegynder
08. juli 2003 - 17:49 #34
Thomas, du huskede vel at genstarte Apache mellem dine forsøg?
Avatar billede sukos Juniormester
08. juli 2003 - 18:46 #35
Om register_globals er On eller Off betyder vel egentlig blot at den måde du forespørger sessions på "skal passe" med den måde du sætter den på? (fra ver.4+)

Har selv haft noget bøvl med at sætte/bruge sessions på en ver. 3.* som startede med at blive testet på en ver. 4.2.0, men ja, On eller Off på de ældre versioner af PHP har STOR betydning for om scriptet virker.
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