8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je fais un site en mvc avec php. J'ai mis de l'html dans mon controller comme ci-dessous. Mais j'aimerais le supprimer du controller pour le mettre dans le view. Je galère un peu, pourriez-vous m'indiquer comment le faire?

Merci

public function reportCritic() {
        if (isset($_POST['signal'])) {
            $value = $_POST['valeur'];
            $id = $_POST['idval'];
            $sql = 'UPDATE critics SET report = 1 WHERE id_movie =? AND id=?';
            $params = [$value, $id];
            $this->query($sql, $params);
            $msg = '<div class="alert alert-warning alert-signal">La critique a été signalée.</div>';
            return $msg;
       }
    } 


View :

<?php ob_start(); ?>
    <div class="single mb-5 mt-5" data-id="<?php echo $movie['id']; ?>">
    <?= $msg ?>... 
    <div class="sectioncomments" id="comments">
    <?php foreach($critics as $critic): ?>
    	<?php require('comments.php'); ?>
    <?php endforeach; ?>



Comments.php :

<?php ob_start(); ?>
    <div id="comment-<?= $critic['id'] ?>">
        <p>
            <b><?= htmlentities($critic['author']) ?></b>
            <span class="text-muted">le <?= $critic['date'] ?></span>
        </p>
        <div class="blockquote">
            <blockquote>
                <?= htmlentities($critic['content']) ?>
            </blockquote>
        </div>
        <div class="formulaire">
            <form class="form-group"  method="post">
                <p class="text-left">
                    <input type="hidden" name="valeur" value="<?= $critic['id_movie'] ?>">
                    <input type="hidden" name="idval" value="<?= $critic['id'] ?>">
                    <button type="submit" name="signal" class="btn btn-default"><i class="fas fa-bolt"></i></span></button>
                </p>
            </form>
        </div>
    </div>
    <?php $contenu = ob_get_clean(); ?>
    <?php require 'admin/gabarit.php'; ?>
Bonjour. Si j'ai bien compris... dans la fonction on remplace la ligne :
$msg = '<div class="alert alert-warning alert-signal">La critique a été signalée.</div>';

... par :
$msg = 'La critique a été signalée.';


Dans la vue on remplace :
<?= $msg ?>

... par :
<?= '<div class="alert alert-warning alert-signal">' . $msg . '</div>'; ?>