webForumDet fria alternativet

Sessioner lokalt

8 svar · 353 visningar · startad av RichardP

RichardPMedlem sedan apr. 200542 inlägg
#1

Hej,

Håller på att försöka lära mig grunderna i PHP och har precis kommit till sessioner. Skulle testa ett enkelt script lokalt (Apache/Win XP) men det fungerade inte riktigt.

session1.php:

<?
session_start();
$_SESSION['Namn'] = "Torsten";
echo "Litet test med sessioner";
?>

session2.php:

<?
session_start();
echo "Hejsan ".$_SESSION['Namn'] ."!";
?>

Resultatet blir bara "Hejsan !".
Fungerar dock när jag laddade upp det hos Loopia.

Är det någon inställning i php.ini som är knasig?

MatteMedlem sedan aug. 20002 975 inlägg
#2

Troligtvis något fel i din PHP-konfiguration.

Lägg följande överst i dina filer:

<?php

error_reporting(E_ALL);
ini_set("display_errors", "1");

session_start();

Får du nu några felmeddelande om du testar igen ?

Använder du din server endast för att testa skript lokalt skulle jag rekommendera att du kopplar på alla felmeddelande och notiser genom att i php.ini ändra till

error_reporting = E_ALL

display_errors = On

Glöm inte starta om webbservern efter ändringar i php.ini.

RichardPMedlem sedan apr. 200542 inlägg
#3

Får det här meddelandet:

Notice: Undefined index: Namn in C:\wwwroot\phpboken\session2.php on line 9
MatteMedlem sedan aug. 20002 975 inlägg
#4

Då borde det fungerat, såvida du inte har en PHP-version som är äldre än 4.1.0.

Troligtvis har du något som spärrar cookien för dig.
Jag har sett stt detta kan ske om man avänder Zonealarm som brandvägg.

Om du gör så här, vad händer då ?

session1.php:

<?php

error_reporting(E_ALL);
ini_set("display_errors", "1");

session_start();

$_SESSION['Namn'] = "Torsten";
echo "Litet test med sessioner<br>";

echo "<a href='session2.php?".SID."'>Nästa</a>";
?>

Och sedan har kvar session2.php som du har den.

RichardPMedlem sedan apr. 200542 inlägg
#5

Nu fungerar det! Tack!

Vad beror det på? :S

MatteMedlem sedan aug. 20002 975 inlägg
#6

Fungerar det med den koden jag visade så innebär det att du har något på din dator som spärrar cookies.

Vad jag gjorde var att skicka med sessionsid i URL-en.

RichardPMedlem sedan apr. 200542 inlägg
#7

Matte skrev:

Fungerar det med den koden jag visade så innebär det att du har något på din dator som spärrar cookies.

Okej, tack för hjälpen. Nästa steg blir att försöka lista ut vad det är som spärrar dem. Inte Norton Antivirus vad jag vet...

aasahMedlem sedan mars 20034 471 inlägg
#8

Matte skrev:

...Troligtvis har du något som spärrar cookien för dig.
Jag har sett stt detta kan ske om man avänder Zonealarm som brandvägg...

Jag har använt ZoneAlarms brandvägg i tre år (tror jag att det är) såväl gratis version som betald och aldrig haft problem med att sessionscookies inte sparas.

I betalversionen kan man visserligen ställa in att den ska spärra sådana, men då får man ju skylla sig själv... Det är alltså ett medvetet val, skiljt från Default-inställningen.

MatteMedlem sedan aug. 20002 975 inlägg
#9

Själv har jag aldrig använt ZoneAlarm, men vid flera tillfällen, i samband med att andra haft problem, varit med om att det varit någon cookie-inställning i Zonealarm som stört det hela.

126 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)