2015-12-25 3 views
-2

Я пытаюсь повторить сеанс, а затем отключить его. У меня есть этот код:PHP Echo session then unset

<?php 
    if(isset($_SESSION['error'])) 
    { 
    ?> 
      <div class="alert alert-danger" style="border-radius:0;margin-bottom:0;"> 
       <i class="glyphicon glyphicon-warning-sign"></i> &nbsp; <?php echo $_SESSION['error'];unset($_SESSION['error']);?> 
      </div> 
    <?php 
    } 
    ?> 

Я думаю, что сессия будет уничтожен, прежде чем он будет отображен.

Я установил это сейчас :)

$_SESSION['error'] = 'Error message!'; 
$user->redirect('index.php'); 
exit(); --> this exit fixed it 

, а затем

if(isset($_SESSION['error'])) 
{ 
echo $_SESSION['error'];unset($_SESSION['error']); 
} 
+0

Вы начали сеанс? (во всех файлах) –

+0

Да, я сделал. @ Fred-ii- –

+0

Как вы назначаете $ _SESSION ['error']? –

ответ

0

вызов session_start(); на самого начало вашего кода PHP для работы с сессиями.

<?php 
    session_start(); 
    if(isset($_SESSION['error'])) 
    //... 

Если сеанс запускается и HTML часть не отображается, это потому, что нет такого индекса '' ошибки во время сеанса.

+0

Я удалил свой ответ о session_destroy, когда заметил, что OP не хочет отменять __session__, он хочет отключить переменную в сеансе :) –

+0

Спасибо за совет. – Phiter

+0

Всегда приветствую! –

0
<?php 
if(isset($_SESSION['error'])) 
{ 
?> 
     <div class="alert alert-danger" style="border-radius:0;margin-bottom:0;"> 
      <i class="glyphicon glyphicon-warning-sign"></i> &nbsp; <?php echo $_SESSION['error']; ?> 
     </div> 
<?php 
} 
unset($_SESSION['error']); 
?> 

Попробуйте это. Однако, на моей стороне было непроверено.