PHP SID не отображается - PullRequest
4 голосов
/ 04 мая 2009

Я не могу заставить работать мой SID ...

<?php
session_start();
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';?>

не показывает номер SID, но session_id работает, не уверен, что я что-то упустил. Thnks

Ответы [ 5 ]

8 голосов
/ 04 мая 2009

Константа SID будет показывать пустую строку, если PHP обнаружил cookie с именем session.name . См. страницу руководства . Это означает, что SID будет содержать полезную строку только до того, как cookie сеанса будет отправлен в браузер.

Это также означает, что если браузер отказывается от файлов cookie, константа SID будет работать. При условии, что seesion.use_trans_id включен, как сказал Гамбо.

4 голосов
/ 04 мая 2009

Вам нужно включить session.use_trans_sid, чтобы PHP принимал идентификатор сеанса, передаваемый либо GET, либо POST.

2 голосов
/ 04 мая 2009

страница 1:

<?php
    session_start();
    // why use it in a url?
    echo session_id();
    echo '<br /><a href=page2.php target=_blank>page 2</a>';
?>

страница 2:

<?php
    session_start();
    // page 2
    echo session_id();
    echo '<br> <br> on page 2 ';
?>
0 голосов
/ 14 июня 2018

если постоянный SID является пустой строкой, попробуйте отключить из php.ini:

session.use_cookies = 0

session.use_only_cookies = 0
0 голосов
/ 04 мая 2009

Где возможно, избегайте передачи идентификаторов сеансов в URL; в тех случаях, когда это необходимо (например, когда клиент отклоняет файл cookie сеанса), пусть встроенные процедуры перезаписи URL изменяют HTML.

Передача идентификаторов сеанса в URL-адресах означает, что вы раскрываете детали реализации в URL-адресах. Если оставить в стороне пуристов, это может привести к практическим проблемам с копированием и вставкой URL-адресов пользователей, которые содержат информацию о сеансе, непреднамеренную передачу своих сеансов друзьям или кому-либо еще, с кем они делятся URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...