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 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.
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 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.
MatteMedlem sedan aug. 20002 975 inlägg 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.
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
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 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.