2015-05-08 2 views
-6

При нажатии на эту ссылку на мой page.php Я хочу, чтобы очистить все сеансы PHP на моем index.php:очистить все PHP сессии, перейдя по ссылке

<a href="index.php">Back</a> 

Может кто-нибудь сказать мне, как это сделать? Большое спасибо

+0

Если вы непосредственно ввести 'index.php' в адресной строке, это то же самое, как посещение его через' 'Back в' page.php'. Вам придется либо перейти на другую страницу ('logout.php'), которая затем перенаправляется на' index.php', либо присваивает переменной index.php ('index.php? Logout') – Mave

+0

http: // php.net/manual/en/book.session.php и https://www.google.com/search?q=php+tutorial –

+1

Все сеансы? Или только нынешний? – Ulti

ответ

1
<a href="index.php?clearsession=true">Back</a> 

PHP на верхней части страницы:

<?php 

if($_GET['clearsession']){ 
    session_start();   
    session_unset(); 
    session_destroy(); 
    session_write_close(); 
} 
+0

Я думал, что он хочет очистить ВСЕ сессии php, а не только текущие. – Ulti

+0

Он отлично работает :) – AbsoluteBeginner

+0

В следующий раз задайте правильный ответ :) – Ulti

0

На верхней части вашего index.php (так как ваша ссылка идет туда) попробуйте это;

session_start(); 
$_SESSION = array(); 
session_unset(); 
session_destroy(); 
session_write_close(); 
session_regenerate_id(true); 
+1

Почему вы бросаете каждую функцию сессии, которую вы можете найти в ней? –

+0

Хорошо, что он может проверить каждый из них правильно? Я знаю, что там есть избытки. Это не повредит ему, чтобы проверить каждый из них и правильно прочитать документацию? –

2

сессия пользователя

Чтобы очистить только текущий сеанс, вы должны использовать это:

session_start(); 
session_destroy(); 

Все сеансы

Для очистки всех сессий Простейшая путь - посмотреть в ваш session.save_path и удалить все файлы.

Или вы можете хранить сессии в базе данных, см http://www.tonymarston.net/php-mysql/session-handler.html

Смежные вопросы