2017-08-18 11 views
-1

セッション変数にエラーメッセージが格納されており、条件がfalseになったときにページに表示されます。今、私はメッセージが消えるように、セッション変数を解放するページをリフレッシュすることを望みます。PHPセッションの問題?

コード:エラーメッセージ

<?php 
if (isset($_SESSION['er'])): //Showing Errors on Salary form ?> 
    <div class="form-errors"> 
     <?php foreach ($_SESSION['er'] as $mistake): ?> 
        <p> <?php echo $mistake ?> </p> 
     <?php endforeach ;?> 
    </div> 
<?php endif; ?> 

は、あなたがエラーを印刷した直後に、それだけで未設定エラー

$_SESSION['er'] = array("Salary Must be between 10000 and 80000."); 
header("Location:addSalary.php"); 
+2

エコー後にエラーをnullに設定するだけです。 'unset($ _ SESSION ['er']);' –

答えて

1

を保存する表示します。したがって、一度だけ表示されます

<?php if (isset($_SESSION['er'])): //Showing Errors on Salary form ?> 
    <div class="form-errors"> 
    <?php foreach ($_SESSION['er'] as $mistake): ?> 
     <p> <?php echo $mistake ?> </p> 
     <?php endforeach ;?> 
    </div> 
<?php unset($_SESSION['er']); ?> 
<?php endif; ?> 
+0

素晴らしい、うまくいった – Rajat

1

エラーメッセージを使用した/送信した後は、削除することができます。

<?php 
if (isset($_SESSION['er'])): ?> 
    echo '<div class="form-errors">'; 

    foreach ($_SESSION['er'] as $mistake): 
     echo "<p>$mistake</p>"; 
    endforeach; 

    echo '</div>'; 
    unset($_SESSION['er']); 
endif; 
?>