webForumDet fria alternativet

PHP 4 session [newbie]

PHP

9 svar · 513 visningar · startad av rille31

Medlem sedan okt. 2004186 inlägg
Frågan#1

Försöker få sessioner att funka på ett webbhotell som klör php 4.4.7

Har laddat upp ett enkelt script från en tutorial men får det inte att funka
Vad gör jag för fel?

<?php		
	session_start();
	phpinfo();
	$_SESSION["firstname"] = "michel";
		// recommended - used in version of PHP >4.1
	$HTTP_SESSION_VARS["initial"] = "J";
		// recommended for versions of PHP <4.0.6
	session_register("surname");		// least secure method
	$surname = "newman";
?>
<a href="test2.php">Click here</a> to go the next page.

test2.php

<?php
	session_start();
	print "Your name is 
		".$_SESSION["firstname"]." ".$HTTP_SESSION_VARS["initial"].
		" $surname<br>";
	print '<b>Variables:</b><br> $firstname: '.
		$firstname. '<br>$_SESSION["firstname"]: '.
		$_SESSION["firstname"]. '<br>$initial: '.
		$initial. '<br>$HTTP_SESSION_VARS["initial"]: '. 
		$HTTP_SESSION_VARS["initial"].'<br>$surname: '. $surname;
?>
Medlem sedan apr. 2006409 inlägg
#2

Phpgudens bibel på nätet: www.php.net. Kolla igenom vilka funktioner som används i skriptet du testar och se vilken version som krävs. php 4.4.7. Du kanske ska fråga om de har planer på att uppdatera..?

Medlem sedan okt. 2004186 inlägg
#3

überfuzz skrev:

Phpgudens bibel på nätet: www.php.net. Kolla igenom vilka funktioner som används i skriptet du testar och se vilken version som krävs. php 4.4.7. Du kanske ska fråga om de har planer på att uppdatera..?

Har kollat och $_SESSION["firstname"] = "michel"; ska ju funka i php 4

Medlem sedan apr. 2006409 inlägg
#4

Kolla hela arrayen när du ändå är igång. Har du något output innan session_start?

Kör söljande för att se vad du har i arrayerna:

echo "<pre>";
echo "<br />session:";
print_r($SESSION);
echo "<br />http_session_vars:";
print_r($HTTP_SESSION_VARS);
echo "</pre>";
Medlem sedan okt. 2004186 inlägg
#5

überfuzz skrev:

Kolla hela arrayen när du ändå är igång. Har du något output innan session_start?

Kör söljande för att se vad du har i arrayerna:

echo "<pre>";
echo "<br />session:";
print_r($SESSION);
echo "<br />http_session_vars:";
print_r($HTTP_SESSION_VARS);
echo "</pre>";

Jag har ingen output innan sessionen

testade att skriva ut arrayen och det funkade på första sidan men inte när jag försöker skriva ut sessionen på nästa sida.

webbhotellet ska är nu även uppdaterat till php 5

Medlem sedan apr. 2006409 inlägg
#6

Har du olika filer till sidorna? I så fall gör så här, så får du känna på hur man kan använda funktioner också.

  1. Gör en fil med följande kod, spara den som testa_session.php.

    function test_session()
    {
       echo "<pre>";
       echo "<br />session:";
       print_r($SESSION);
       echo "<br />http_session_vars:";
       print_r($HTTP_SESSION_VARS);
       echo "</pre>"; 
    }
    
  2. Klistra in följande på alla filer där du vill se vad sessions-arrayen innehåller.

    include "testa_session.php";
    test_session(); // klistra in den sist i filerna.
    

Till sist, läs om hur länge sessioner varar och vad som stänger av dem.

Medlem sedan mars 20007 896 inlägg
#7

I überfuzz's exempel så är det $**_**SESSION du ska använda, han missade ett understreck.

Har du försökt med PHP-dokumenten som finns på php.net? De måste fungera, annars har du något märkligt webhotell.

Medlem sedan apr. 2006409 inlägg
#8

SPiN skrev:

I überfuzz's exempel så är det $**_**SESSION du ska använda, han missade ett understreck.

Har du försökt med PHP-dokumenten som finns på php.net? De måste fungera, annars har du något märkligt webhotell.

Aj aj aj, det har du alldeles rätt i. Jag borde kanske ha varit tydlig med att koden är otestad. :r

Medlem sedan okt. 2004186 inlägg
#9

SPiN skrev:

I überfuzz's exempel så är det $**_**SESSION du ska använda, han missade ett understreck.

Har du försökt med PHP-dokumenten som finns på php.net? De måste fungera, annars har du något märkligt webhotell.

Testade exemplet från php.net och det funkade inte ríktigt
jag kan skriva ut sessionerna med din funktion på samma sida men dom finns inte sparade på nästa.
Behöver man inte ändra någon iställning i php.ini?

Medlem sedan okt. 2004186 inlägg
#10

Tog en skärmdump på sessionsinställningarna på servern

Shot0001.JPG
275 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
139 ms — ändringar (db)