Существует следующая задача: session.use_cookies = 0 session.use_only_cookies = 0 session.use_trans_sid = 1 Очевидно, что передача через URL оптимальной не является (такое дано), но для кода с html-ссылкой всё работает (запрос дополняется идентификатором сессии): Код (Text): <?php session_start(); echo session_id(); echo '<a href="tst.php"> Та же страница </a>'; ?> При обновлении страницы в браузере этого не происходит. Как можно решить эту проблему? Сказать клиенту, чтобы он дописывал PHPSESSID ручками - не вариант ^_^ Спасибо за внимание. Добавлено спустя 31 минуту 33 секунды: Текущее работающее решение (полагаю, неоптимальное): Код (Text): <?php session_start(); echo session_id(); $s=session_id(); if (!isset($_GET['PHPSESSID'])) echo '<meta http-equiv="refresh" content="0; tst.php?PHPSESSID='.$s.'" />'; ?>
перечитывал, перечитывал, но так и не понял в чем задача. галиматься какая-то. Предположу: если session_id при обновлении страницы всякий раз разный, значит либо куки у тебя в браузере отключены, либо б*ь чертов BOM стоит перед <?php и реально происходит ошибка "Header already sent". Ни при каких раскладах нельзя слать session_id через get-параметр. Это плохая практика.
Если проверять IP и браузер, то можно избежать проблем. Но это если совсем без вариантов. А так да - ни есть гут.