2013-06-27 2 views
1

Я прочитал несколько вопросов по StackOverflow о сессиях и не нашел ответа на этот :-)где должен быть установлен код session_destroy()?

Это session_start() должен быть перед любым другим кодом - даже до того, как HTML тег подчеркивается всеми, кто отвечает на сессию вопросов. Я изучаю PHP в основном через этот сайт и строю свой первый веб-сайт php, когда я иду. Я все понял о том, как снять, уничтожить и очистить, кроме того, где они должны быть размещены на странице.

Я знаю, что это должен быть очень простой вопрос, но после четырех дней чтения ответов о выходе из системы и не обнаружив его, я немного отчаялся.

Любая помощь очень ценится, спасибо

ответ

0

Это не имеет значения, писать ли вы код в верхней или нижней части. То, что вам нужно сделать, - это нажать кнопку выхода из системы, а затем вызывать функцию logout() и внутри этой функции этот код должен быть там. Вы также можете вызвать другой php-файл с именем logout.php с таким количеством кода в нем

0

session_destroy должны быть размещены на странице выхода из системы, как это уничтожить сессию пользователя

session_start(); // start session 
session_destroy(); // destroy the current session of user 
echo "You are logged out"; // place here greetings that user is logged out 
// you can also redirect user to your login page 
0

Вы должны убрать переменную сеанса, который вы инициализирован и также используйте session_destroy() в действии кнопки выхода.

function logout() { 
      unset($_SESSION['username']); 
      session_destroy(); 
    } 
+0

Как я уже сказал - я всего лишь новичок. Я понял функции, как они работают и т. Д. Я не понял, ГДЕ на странице эти функции идут? Они идут в верхней части страницы, на которой есть кнопка выхода из системы? И session_start() также идет вверху каждой страницы? – vinaya

+1

Неважно, пишете ли вы код сверху или снизу. То, что вам нужно сделать, - это нажать кнопку выхода из системы, а затем вызывать функцию logout() и внутри этой функции этот код должен быть там. Вы также можете вызвать другой php-файл с именем logout.php с помощью всего этого кода. – khushalbokadey

+0

Спасибо, khushalbokadey! Это именно то, что я хотел знать! – vinaya

0

Перед тем, как ответить о размещении session_destroy(), вы могли бы знать разницу между отключенном ($ _ SESSION [ 'имя пользователя']) и session_destroy. Если вы хотите уничтожить весь зарегистрированный сеанс, вы можете использовать session_destroy, и если вы хотите уничтожить конкретный сеанс регистрации, вам следует отключить ($ _ SESSION ['username']). Для вашего ответа напишите нижеприведенный код на странице выхода:

<?php 
session_start(); 
session_destroy();//destroy all registered session 
header('location:login.php'); 
?> 

Надеется, что это будет работать

0

обычно мы добавим код для закрытого заседания в logout.php странице, а затем перенаправляются на странице входа в системе. logout.php страница имеет следующие несколько строк

<?php 
session_start(); 
session_destroy(); 
header('location:login.php'); 
?>