2016-07-11 3 views
2

вот мой код в моем logout.php.Когда я загружаю свой код на сервер, почему мой logout.php не может работать?

session_start(); 
    session_unset(); 
    session_destroy(); 
    header("Location: ../index.php"); 

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

+0

Вы напрямую вызываете страницу logout.php из своего браузера? – Avishake

+0

Что происходит при выполнении logout.php? перенаправляет ли он index.php или нет? –

+1

«это не сработало» не поможет нам, давайте отлаживаем его: вместо заголовка («location .. попытайтесь написать var_dump ($ _ SESSION); - какой результат при запуске файла? –

ответ

-2

Убедитесь, что ваша сессия инициализирована, прежде чем уничтожить ее.

session_start() ; 
var_dump($_SESSION); // Check session is set/not 
session_destroy() ; 
header("Location: ../index.php"); 

Если у вас есть печать значения сеанса, то мы можем ее уничтожить.

+0

он ничего не показывал, все еще на той же странице с белым экраном .. –

+0

это должен быть комментарий не ответ – urfusion

0

Возможны несколько сценариев, в которых ваш logout.php не будет работать. Наиболее распространенным является то, что каким-то образом ваши разрешения неверны, и ваш файл сеанса не может быть создан на сервере.

Чтобы проверить, действительно ли это так, я советую включить отчет об ошибках. Вы можете сделать это, поместив следующие строки в верхней части файла PHP:

// Put this code in your logout.php temporarily 
error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

После этого, убедитесь, что ваша сессия еще не начата.

// Replace session_start(); in all files with this 
if (!isset($_SESSION)) { 
    session_start(); 
} 

Я надеюсь, что приведенные выше изменения кода покажут вам, какова может быть ваша ошибка.

+0

должен ли я поставить error_reporting (E_ALL); ini_set ('display_errors', 'On'); в каждом файле? и как насчет if (! Isset ($ _ SESSION)) { session_start(); } где я должен положить этот код? я думаю, проблема в том, что файл сеанса не может быть создан на сервере так же, как вы сказали, но я не знаю, почему .. Я просто не понимаю, почему он не работает на моем сервере cpanel, но он работает правильно в моем localhost .. –

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