tablica jako zmienna sesji

0

Witam. Chciałbym aby rzeczy które zamawia użytkownik na mojej stronie były przechowywane w tablicy która jest zmienną sesji. Wydaje mi się, że to prosta sprawa jednak taki kod:

updateKoszyk.php

<?php
	$produkt = $_GET['product'];
	$tmp = array();
	$tmp[0] = $produkt;
	$tmp[1] = 1;
	
	$_SESSION['koszyk'][]=$tmp;

	print_r($_SESSION['koszyk']);
?>

Zupełnie nie działa. To co mi się print_r'uje to ciągle jest tablica z tylko jednym elementem który się zmienia w zależności od tego co zamówi użytkownik. Tak jakby ta tablica czyściła się podczas wprowadzania nowych danych.

Plik php w którym jest powyższy kod wywoływany jest za pomocą ajaxa:

function updateKoszyk(zmienna)
{
	 var XHR = ajaxInit();

	 if(XHR != false)
	 {
	 	try
	 	{
	 		XHR.open("GET", "php_func/updateKoszyk.php?product="+zmienna, true);
	 	}
	 	catch(e)
	 	{
	 		alert(e.description);
	 	}
	 	
	 	XHR.onreadystatechange = function()
	 	{
	 		if(XHR.readyState==4)
	 		{
	 			document.getElementById('orderText').innerHTML = XHR.responseText;
	 		}
	 	}
	 	
	 	XHR.send(null);
	 }
}

Może chodzi o to, że sesja startuje w pliku index.php a plik updateKoszyk.php jest jakby poza stroną, tzn nie jest nigdzie includowany na stronie, jest po prostu w folderze tam gdzie strona i otwiera go ta funkcja w ajaxie. Ale chyba to nie przez to nie działa bo sesja i tak i tak jest chyba wspólna.

1

session_start() musi być na początku każdego pliku. (tj tego co wywołujesz)

edit: wcale nie musi być na początku, a dopiero przy użyciu zmiennych sesyjnych, ale dla ułatwienia daj na początek.

0

Super. Dzieki :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1