2016-11-20 6 views
0

Я пытаюсь отображать сообщения об успешном выполнении или сбое, используя переменные сеанса. Я хочу, чтобы они были отключены после изменения переменной сеанса после ее доступа. Есть ли какая-то конфигурация PHP, где я могу сделать это автоматически без написания дополнительного кода?Есть ли способ автоматически отключить переменную после доступа в php?

Я хочу что-то вроде этого:

$_SESSION['message'] = 'print success'; 
echo $_SESSION['message']; 
unset($_SESSION['message'])// I want this to be done automatically. 

Может кто-нибудь помочь мне с этим?

+0

использование троичной opeator и/или Аякса –

+0

@ Fred-II- Пожалуйста, вы можете предоставить мне пример кода, как я новичок в PHP? – Jason

+0

Возможно, вы захотите уничтожить сеанс с помощью session_destroy() – Samay

ответ

2

Вы можете написать собственный обработчик сеанса и создать для него собственный метод. Тем не менее я настоятельно рекомендую Illuminate/Session и использовать его функцию flash, которая хранит предметы в флеш-сумке только на один запрос.

class Session { 
    public function read($str){ 
     return isset($_SESSION[$str]) ? $this->deleteAndRet($str) : null; 
    } 
    protected function deleteAndRet($str){ 
     $ret = $_SESSION[$str]; 
     unset($_SESSION[$str]); 
     return $ret; 
    } 
} 
+0

, так что, в любом случае, я должен назвать какую-то функцию правильно или она будет автоматически отменена? – Jason

+0

вместо 'echo $ _SESSION ['message'];' вы должны затем вызывать 'echo $ session-> read ('message');' где '$ session' является экземпляром класса' Session'. или вы можете определить эти методы как статические и вместо этого использовать 'Session :: read ('message')'. – Cunning

+0

Спасибо, что решил мою проблему :) – Jason

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