Каким способом можно убивать сессию при закрытии вкладки?У вас там в тегах php, потому я предположу, что вы о вот этих сессиях.
Expires
, и тогда она должна удалиться сама при закрытии сессии браузером, но... есть браузерные настройки и плагины, которые позволяют не обрывать сессию при закрытии вкладки и вообще никогда.как правильно идентифицировать разных пользователей, чтобы они не перезаписывали друг-другаэто что за дичь? У каждого юзера свой идентификатор и они не перезаписывают друг друга.
и установить время жизни сессии для одного пользователя например 60 минут
Функция session_start() создает сессию, либо возобновляет существующую, основываясь на идентификаторе сессии, переданном через GET или POST запрос, либо переданный через cookie.
$default = 'en'; // по умолчанию
$allowed = ['en', 'ru', 'fr']; // допустимые языки
$current = empty($_COOKIE["lang"]) ? $default : $_COOKIE["lang"];
$new = empty($_POST["lang"]) ? null : $_POST["lang"];
if ($new && // если был пост запрос
in_array($new, $allowed) && // и если новое значение в списке допустимых
$new !== $current) { // и отличается от текущего
$current = $new;
setcookie("lang", $new, time()+60*60*24); // http://php.net/manual/ru/function.setcookie.php
}
require_once $current . '/function.php';
<a href='/?city&title=<?=urlencode($city->title)?>'><?=$city->title;?></a><br>
if (! empty($_GET['title'])) {
...
}
она будет пустой хоть как и удалять- смысл этой фразы не понял.
function is_session_exists() {
$sessionName = session_name();
if (isset($_COOKIE[$sessionName]) || isset($_REQUEST[$sessionName])) {
session_start();
return !empty($_SESSION);
}
return false;
}
$_SESSION["UserName"] // имя сессии есть допустим ivanНет, это не имя сессии, а какое-то значение с ключом "UserName"
$_COOKIE["Test"] // имя кук есть допустим mysite.comНепонятно что вы имеете в виду. Это обращение к какой-то куке с именем "Test". Из вашего кода непонятно откуда она берется.
// Уничтожаем сессиюВсё правильно, вы же сделали session_destroy
// Удаляем Cookie
...
var_dump($_SESSION);
var_dump($_COOKIE);
Первый показывает Undefined variable
Второй показывает:И тоже всё правильно, вы же не уничтожали куку "PHPSESSID".
array(1) {
["PHPSESSID"]=>
string(26) "ra7emp6j6vp6o85oqlclefi315"