Начал разбираться с сессиями, вроде ничего сложного (пишу магазин).
Только вот проблема. У меня на локальной машине все прекрасно работает, а вот когда ставлю на сервер, сессии не работают или работают не правильно. Товар добавляется в корзину только со второго раза, и добавляется только один товар.
Версии PHP одинаковые, настройки сессий тоже (настройки по дефолту). Разные OS (WinXP/FreeBSD).
У меня PHP стоит как CGI на сервере как модуль.
В чем может быть проблема?
Вот код, который добавляет товар:
session_start();
$new=1;
if($action == "korzina")
{
if(!isset($_SESSION[\'products\'])&&$_GET[\'tovarid\'])
{
$products[0][\'tovarid\']=$_GET[\'tovarid\'];
$products[0][\'count\']=1;
}
elseif($_GET[\'tovarid\'])
{
$products=$_SESSION[\'products\'];
$c=count($products);
$new=1;
for($i=0;$i<$c;$i++)
if($products[$i][\'tovarid\']==$_GET[\'tovarid\'])
{
$products[$i][\'count\']++;
$new=0;
break;
}
if($new)
{
$products[$c][\'tovarid\']=$_GET[\'tovarid\'];
$products[$c][\'count\']++;
}
}
session_register("products");
}
И второй вопрос. Когда я захожу в магазин, то мне выдается SID. Если я открываю новое окно броузера и повторно захожу, то SID почему-то уже другой, соответственно товаров в корзине нет (в этом новом окне). Куки включены.
Это что-то не так в настройках/моем скрипте или так и должно быть?