2016-02-17 4 views
1

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

У меня нет ошибок, просто пустая страница, когда я выхожу из системы и убиваю сеанс. Сеанс умирает, но не редирект :(

Здесь не включаемые для выхода из системы

<?php 
// Initialize the session. 

session_start(); 

// Unset all of the session variables. 
$_SESSION = array(); 

// If it's desired to kill the session, also delete the session cookie. 
// Note: This will destroy the session, and not just the session data! 
if (ini_get("session.use_cookies")) { 
$params = session_get_cookie_params(); 
setcookie(session_name(), '', time() - 42000, 
    $params["path"], $params["domain"], 
    $params["secure"], $params["httponly"] 
); 
} 

// Finally, destroy the session. 
session_destroy(); 

if(PHP_SESSION_NONE === true){ 

//i added this conditional statement as a last ditch, there was no if statement to begin with just a simple redirect, neither work.  

header("Locaction: index.php"); 
} 
?> 

Вот мой код формы.

<form action="endSession.php" method="post" id="end_session"> 
<button type="submit" name="end_session" id="end_button">Logout</button> 
</form> 
+0

Пожалуйста, проверьте правильность написания 'заголовка (» Locaction: index.php ");' это 'Locaction', но должно быть' Location' – Nehal

ответ

2

PHP_SESSION_NONE - это постоянная константа.

Вы должны проверить статус сеанса.

if (session_status() === PHP_SESSION_NONE) 
1

вы набрали Location в Locaction.

Пожалуйста, проверьте свои сообщения. Вы можете обратиться к этому сообщению о том, как проверить наличие сообщений об ошибках: How to get useful error messages in PHP?.

В качестве альтернативы вы можете попробовать использовать онлайн-проверку синтаксиса: http://phpcodechecker.com, но включение этого в ваш сервер по-прежнему является лучшим способом.

+0

Я не получал сообщений об ошибках. Я довольно новичок в PHP, я разрешу Google. –

+0

@red_starz Отредактированный ответ о том, как включить проверку ошибок – Panda

+0

Спасибо :) Очень полезно! –

2

Вы опечатка Location:

//Your spelling 
header("Locaction: index.php"); 

//Correct spelling 
header("Location: index.php"); 

Reference


Кроме того, PHP_SESSION_NONE это, насколько я могу видеть, используется неправильно. Это возвращаемое значение session_status(), так что вы должны использовать его так:

if(session_status() === PHP_SESSION_NONE){ //... 

Хотя лучше практика будет:

if(session_status() !== PHP_SESSION_ACTIVE){ //... 

Reference

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