[RESOLU] FUNCTION Alert dans une Class

Eléphant du PHP | 88 Messages

24 janv. 2021, 15:52

Hello !!! j'espere que cette question sera porteuse d'idee plusss que ma derniere demande :) !

J'aimerai faire une function pour appeler toutes mes alertes: je m'explique :
A chaque action tant pour mes posts que mes commentaires: (coté admin bien sur)
j'ai :
<?php if ($success) : ?>
    <div class="alert alert-primary alert-dismissible" style="width:450px;" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  <span aria-hidden="true">&times;</span></button>
  <p> [color=#FF4000]L'article a été modifié avec succès [/color]!</p>
    </div>
<?php endif ?>
Ca change à chaque action (je vous les mets pas pour chaque! mais sinon les messages changes: L'article a ete supprimé, ou l'article a ete cree! et pareil pour mes commentaires meme alertes pour editer creer modifier ou supprimer!

Bon certains me disent que mes alertes doivent etre dans mon controller !! pourquoi mon mentor m'aurait fait faire comme ca?( je suis MVC orienté O j'ai la variable 'errors' et ou 'success' dans mon controller et mes div d'alertes sont dans mes vues car mes fichiers ont ete coupés avec un require_once pour appeler mes vues !

Mais je me dis que au lieu de mettre ces div sur chaque fichier en haut (comme je veux qu'elles apparaissent en haut) ca serait mieux de creer une fonction!!! non?

et j'y arrive pas :( j'ai tenté un nx fichier
class Alert {
function alert() {
$msg_post_supp = 'post supprimés';
$msg_post_edit = 'post modifiés';
etc }

ou autre choix : faire une fonction directement dans chaque table !!!
pourriez_vous m'orienter? merci bien

Mammouth du PHP | 1029 Messages

30 janv. 2021, 19:20

Perso, je créerais des bouts de code html à inclure et dans mon layout , je ferais.

Code : Tout sélectionner

<?php if ($success) : ?> include 'sucess.php' <?php endif ?>
et dans mon include un truc du genre

Code : Tout sélectionner

<div class="alert alert-primary alert-dismissible" style="width:450px;" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span></button> <p> [color=#FF4000]<?php echo $success['msg'] ?> [/color]!</p> </div>
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 88 Messages

03 févr. 2021, 20:38

]Bonjour bonjour !

Ce message n'etant pas resolu je reviens dessus car j'ai encore 2 petits soucis sur l'alerte!
Alerte ok toujours :
<?php if (!empty($errors)): ?>
 <div class="alert alert-danger alert-dismissible" style="width: 700px;" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span></button>
        <p> Merci de corriger les champs et de remplir le formulaire correctement ! </p>
        <ul>
            <?php foreach ($errors as $error): ?>
            <li><?= $error; ?> </li>

    <?php endforeach; ?>
</ul>
</div>
Helas cette alerte fonctionne, on peut en effet la fermer avec la X ok
sauf qu'elle apparait à chaque ouverture :
une page de connection : mon message d'erreur : exepmle : vous n'avez pas rentrez votre pseudo =
en rouvrant ma page, comme le pseudo n'est pas rentré : le message apparait avant !! c'est embettant !

je trouve pas !

merci à vous pour vous idees