Cookies o Sessions

PHP

17 svar · 383 visningar · startad av SPike.CoM

Medlem sedan dec. 1999149 inlägg
Trådstart#1

Cookies och sessions funkar inte.. :P Problem med headers och processing errors. Fattar noll. Funkar hur smärtfritt som helst i ASP. Har IIS 4.0 med PHP 4.0 som API för IIS. Någon bugg eller?

Medlem sedan juni 20001 521 inlägg
#2

Jodå, det fungerar... fast det kan ta ett litet tag innan man kommer på att man måste sätta kakan innan man skriver ut någonting annat - annars blir det problem med headers.

Medlem sedan dec. 1999149 inlägg
#3

Någon kodtips? Vore hjärtligt tacksam. :)

Medlem sedan dec. 1999149 inlägg
#4

Följande hieroglyfer:

Warning: open(/tmp/sess_4ba349d95aa06b37e3435ce6b06bbba0, O_RDWR) failed: m (2) in C:\Webbie\php_bin\nextpage.php on line 2
Hello visitor, you have seen this page 1 times.
To continue, *click here*. 
Warning: open(/tmp/sess_4ba349d95aa06b37e3435ce6b06bbba0, O_RDWR) failed: m (2) in Unknown on line 0

Warning: Failed to write session data. Please check that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Händer under följande kod:

<?php
session_start();
session_register("count");
$count++;
?>
<HTML>
<HEAD>
<TITLE> Pundhuvudens Fackförbund </TITLE>
</HEAD>
<BODY>
Hello visitor, you have seen this page <? echo $count; ?> times.<p>

<?php
# the "=SID" is necessary to preserve the session id
# in the case that the user has disable cookies
?>

To continue, <A HREF="nextpage.php"?<?=SID?>">click here</A>.

</BODY>
</HTML>
Medlem sedan feb. 2000211 inlägg
#5

Felet som visas beror på att din session.save_path inte stämmer.

Öppna php.ini och leta på session.save_path, sätt den till ett giltigt värde. Min är ex. session.save_path = e:/inet; se bara till att foldern finns samt ev. rättigheter.

Medlem sedan juli 2000449 inlägg
#6

Tack, jag fick precis samma problem :-) Det löste sig direkt!

Medlem sedan juli 2000449 inlägg
#7

En liten fortsättning på problemen...

Igår fungerade mitt session-script utan problem och då implenterat i ett ganska avancerat script. Idag fungerar inget, fast det är samma kod. Kolla detta och se om det är något fel:

Fil 1 - Skapa sessionen.
<?php
# session1.php
session_start();
session_register('mid');
session_register('level');
?>
OBS! $mid & $level är genererat från min databas så den är inte tom. :-)

Fil 2. Kontrollera så att sessionen innehåller variablarna.
<?php
if(session_is_registered('mid') || session_is_registered('level') ):
echo "Sessions variablarna finns.";
else:
echo "Ingen variabel!";
endif;
?>

Problemet verkar vara att jag inte kan få ut variablarna UT ur sessionen såatt säga. Jag får inga som helst felmeddelanden.

Skulle vara tacksam om någon orkade engagera sig :-)

Medlem sedan jan. 20007 697 inlägg
#8

Du ska inte ha kolon efter if- och else-satsen i Fil 2.

Medlem sedan juli 2000449 inlägg
#9

Varför inte???

Medlem sedan dec. 19991 749 inlägg
#10

<?php
if(session_is_registered('mid') || session_is_registered('level') ) {
echo "Sessions variablarna finns.";
}else
echo "Ingen variabel!";
?>

Är rätt. : och endif; skrev man i php2 men det har sakta men säkert tagits bort i dom nyare versionerna.

Medlem sedan juli 2000449 inlägg
#11

Okey, det lilla problemet är fixat, men det fungerar inte.

Session-filen sparas som den ska, men, hur 17 får jag ur informationen ur den filen? Jag behöver ju den genom sajten, det är ju det den är till för :-)

-- Den där if-satsen. Det är ju meningen att den ska känna av om variablarna är satta.... men det fungerar väl sådär...

[Redigerat av Marcus den 18 jan 2001]

Medlem sedan jan. 20007 697 inlägg
#12

Som det är nu så känner den av om endast en av variablerna är satta. Byt ut || mot && så måste båda variablerna ha värden.

Medlem sedan juli 2000449 inlägg
#13

Jag har lyckats fixa till det nu.... tror jag ;-)

Medlem sedan juni 20008 205 inlägg
#14
Du ska inte ha kolon efter if- och else-satsen i Fil 2.

Jodå, det går så bra så. Dessutom blir koden grymt mycket lättare att läsa.

Medlem sedan dec. 19991 749 inlägg
#15

Jodå, det går så bra så. Dessutom blir koden grymt mycket lättare att läsa.

Märk dock att det är endast för bakåtkomplatibitet till PHP2 och ingen PHP3-4 syntax. I framtida versioner så kommer det säkert försvinna helt och då står man handfallen med kanske ett hundratal sidor att ändra.

Medlem sedan juli 2000449 inlägg
#16

Dum fråga kanske...

När jag skapar en session, lagras den på servern eller hos klienten? Om det är hos klienten, hur vet jag då att sökvägen blir rätt?

Medlem sedan jan. 20007 697 inlägg
#17

Ingen fråga är dum.

När du skapar en session så lagras den på servern.

Medlem sedan juli 2000449 inlägg
#18

Skönt! Då behöver jag alltså inte oroa mig för det...

Det är nämnligen så att jag lägger upp ett litet projekt imorgon på mitt webbhotell och jag räknar kallt med att jag får en massa fel direkt.

Jag kan återkomma angående mitt projekt eftersom det ska lanseras på torsdag morgon. (hoppas bara jag hinner) :-)

263 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)