Здравствуйте! переходя по ссылкам сессия исчезает (название), что я делаю не так? PHP: php session_id(sssssiiii); session_start(); echo session_id(); echo ' <a href="index.php?rem=11">1111</a><br><br><br><br> <a href="index.php?rem=22">2222</a><br><br><br><br> <a href="index.php?rem=33">3333</a><br><br><br><br>'; $rem = $_GET['rem']; switch($rem) { case '11' : $file = '1.php'; echo $file; include '1.php'; break; case '22' : $file = '2.php'; echo $file; include '2.php'; break; case '33' : $file = '3.php'; echo $file; include '3.php'; break; default: $file = '1.php'; echo $file; break; } if (isset($_POST)) { $login_send= substr(htmlspecialchars(trim($_POST['login'])), 0, 41); $pass_send = substr(htmlspecialchars(trim($_POST['password'])), 0, 41); $test=$login_send; } function test() { global $test; } $_SESSION['star'] = $test; echo "=========".$_SESSION['star']."========="; ?> файл 1 2 3 PHP: echo '11111111111111111111111111111111111'; echo "<a href='index.php'>index 11111</a><br><br><br><br>"; echo $_SESSION["star"];
Добрый день! Здесь sssssiiii - константа, которая не определена. В актуальной версии PHP будет выдаваться ошибка. PHP: session_id(sssssiiii); По умолчанию session_id передаётся через Куки. Посмотрите в консоле браузера переменную PHPSESSID, например, значение 8e706315a718631d0759a7b3a33fcb2b session_id( ) нужно убрать. Удачи!
не надо бегать.. надо адекватно ходить ))) в вашем коде - нигде не меняется сессия, ничего не задается... с чего вы взяли что она пропадает... ее изначально нет
Ошибка в строке 2 приводит к выводу предупреждения. А любой вывод выключает возможность задавать заголовки, в т.ч. устанавливать куки, а значит и сессию. https://en.wikipedia.org/wiki/HTTP_message_body#HTTP_message - матчасть как устроено сообщение http: заголовки, затем тело https://stackoverflow.com/q/8028957/272885 - подробно о проблеме "Header alerady sent" https://phpfaq.ru/debug - как находить ошибки --- Добавлено --- Если по-простому, session_start() должен идти первым, до любого вывода, до любой ошибки. И он должен вызываться на каждой странице по которым вы "бегаете". Только в этом случае сессионные переменные будут доступны на этих страницах.