Для тестирования сделана тестовая страница srart.php, в которой размещен код:
session_start();
$_SESSION['cnt'] = 2137;
$_SESSION['lala'] = "Vesna";
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=red.php'></HEAD></HTML>";
На принимающей странице red.php размещен код:
session_start();
echo "cnt " . $_SESSION['cnt'] . "<br /> url" . $_SESSION['url'];
$cnt = $_SESSION['cnt'];
$lala = $_SESSION['lala'];
$texx = "cnt $cnt <br />lala $lala <br />" . session_id();
echo $texx;
echo "<br /><br />cnt " . gettype($_SESSION['cnt']) . "<br />lala " . gettype($_SESSION['lala']);
file_put_contents('control.txt', $texx);
Все нормально работает и имеет место соответствующий тип переменных - целые и строка.
Нюанс в том, что реально нужно передавать инфу со страницы, сделанной на HOSTCMS, а там запуск сессии происходит автоматически каким-то скрытым образом. Так что на session_start(); выводится сообщение, что сессия уже запущена.
Поэтому session_start не пишем и на странице сайта размещаем более детализированный код, позволяющий увидеть, что сессия действует.
$_SESSION['cnt'] = 2157;
$_SESSION['lala'] = "Tanna" ;
$cnt = $_SESSION['cnt'];
$lala = $_SESSION['lala'];
echo "<br />cnt $cnt <br /> lala $lala <br />" . session_id();
$mn = mt_rand(100000, 1000000);
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='7; URL=/control/red.php?mn=" . $mn . "'></HEAD></HTML>";
exit;
Индикаторы сессии на передающий и принимающей страницах совпадают, но обе переменные пусты!