когда и где мы используем session_id ()

Я не могу понять код ниже, и я не знаю, когда мы используем session_id() до session_start() ,

<?php
if($_GET){
//defining the session_id() before session_start() is the secret
session_id($_GET['session_id']);
session_start();
echo "Data: " . $_SESSION['theVar'];
//use your data before below commands
session_destroy();
session_commit();
}else{
//common session statement goes here
session_start();
$session_id=session_id();
$_SESSION['theVar'] = "theData";
echo "your.php?session_id=" . $session_id;
}
?>

Я хочу, чтобы вы объяснили это! не просто копирование описания php.net!
с другой стороны, где используется session_id ()? какое его использование ?!
заранее спасибо !

3

Решение

Установка идентификатора сеанса перед началом сеанса позволяет вам, так сказать, вручную «возобновить» сеанс. Если вы используете session_start () без установки идентификатора, а срок предыдущего сеанса истек, он сгенерирует новый идентификатор и начнет новый сеанс.

Из документации PHP:

Если указан идентификатор, он заменит текущий идентификатор сессии. session_id () должен быть вызван перед session_start () для этой цели.

Смотрите больше на: http://php.net/manual/en/function.session-id.php

2

Другие решения

наконец я понял! Я приведу два примера:

<?php
session_start();
session_id();
?>

результат | stbug36ge9efg20cpdjnq83m50 (идентификатор сеанса)

и всякий раз, когда браузер или вкладка закрыты, сеанс будет пропущен, и при следующем входе на сайт вы сможете управлять двумя действиями:
1. начать новый сеанс с предыдущим session_id
2. или начать новый сеанс с новым идентификатором
как обычно, произойдет действие num.2, но если вы хотите, чтобы num.1 произошло, вы должны встроить session_id до session_start. посмотрите на код ниже:

<?php
session_id("stbug36ge9efg20cpdjnq83m50");
session_start();

?>

и вот мы начинаем новый сеанс с идентификатором предыдущего сеанса.

а также

использование Session_id ()

Вы можете легко написать счетчик посетителей онлайн — каждый раз, когда начинается сеанс (используется онлайн), его идентификатор будет храниться в базе данных. так что мы можем узнать, сколько пользователей в сети.

1

руководство это хорошее место для начала. session_id не требуется для запуска или управления сессиями. PHP и браузер (через cookie) обычно обрабатывают это автоматически, если вы исключаете session_id. Однако вы можете поддерживать несколько сеансов для конечного пользователя, указав идентификатор сеанса.

0
По вопросам рекламы [email protected]