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.