Je travaille sur un projet en PHP qui n'utilise pas de framework pour PHP. Je viens d'arrière-plan et je Yii ai utilisé:Messages Flash avec sessions en PHP
Yii::app()->user->setFlash('flash_name', 'Flash value');
Et vérifié avec:
Yii::app()->user->hasFlash('flash_name');
Pour vérifier si elle est présente et si elle existe, et pour obtenir la valeur de celui-ci je :
Yii::app()->user->getFlash('flash_name', 'Default Flash value');
pour l'instant, j'ai écrit ces fonctions à set
, check
et get
flash:
function set_flash($flash_name, $value) {
$_SESSION['flashes'][$flash_name] = $value;
}
function has_flash($flash_name) {
return isset($_SESSION['flashes'][$flash_name]) ? true : false;
}
function get_flash($flash_name, $default_value = null) {
if(has_flash($flash_name)) {
return $_SESSION['flashes'][$flash_name];
}
return $default_value;
}
Cependant, quand je l'utilise dans mon post.php
comme ceci:
set_flash('success', true);
Et vérifier dans mon index.php
comme ceci:
<div class="container">
<?php if(has_flash('success') && (get_flash('success') === true)): ?>
<div class="alert alert-success">
<h4>Success!</h4>
<hr />
<p>You have successfully posted new content on your website. Now you can edit or delete this post.</p>
</div>
<?php endif; ?>
</div>
chaque fois que j'actualisez la page, le message encore apparaître là.
Comment puis-je retirer le flash après qu'il a été utilisé ou invoqué?