Page 1 sur 1

Rester sur la meme page apres validation

Posté : 24 févr. 2021, 19:42
par Beebeepc
Hello tout le monde !
voici mon souci :
dans ma vue des comments ( j'ai verifié avec un die que j etais sur la bonne page :) ) voici mon code :
<div class="d-flex justify-content-center" style="font-size: 35px;">
            <h3>LES COMMENTAIRES À VALIDER</h3>
        </div><br>

        <table class="table " style="background-color:#cbb9cc" text-align-center>
            <thead>
                <div class="col-12">
                    <tr class="row" text-align-center>

                        <th class="col-5 text-center">Commentaires</th>
                        <th class="col-2 text-center">Auteurs</th>
                        <th class="col-1 text-center">Dates</th>
                        <th class="col-3 text-right">Approuver &ensp;Refuser &emsp;Modifier&emsp;</th>
                    </tr>
                </div>
            </thead>

            <tbody>

                <?php foreach ($comments as $comment) : ?>
                <tr class="d-flex">
                    <td class="col-5 text-justify"><?= $comment->getContent();  ?></td>
                    <td class="col-2 text-center"><?= e($comment->getAuthor()) ?><br></td>
                    <td class="col-2"><?= $comment->getCreatedAt()->format('d M y h:m ') ?></td>
                    <td class="col-3 text-center">
                        <div class="row">

                            <a href="<?= $router->url('admin_comment_approve', ['id' => $comment->getID()]) ?>"onclick="alert('VALIDATION du commentaire OK')"
                                class="btn btn-success mr-2 mb-2 ">OK</a><br>
                            <a href="<?= $router->url('admin_comment_delete', ['id' => $comment->getID()]) ?>"onclick="alert('SUPPRESSION du commentaire OK')"
                                class="btn btn-danger mb-2 ">KO</a>
                            <a href="<?= $router->url('admin_comment', ['id' => $comment->getID()]) ?>"
                                class="btn btn-primary ml-2 mb-2 ">Edit</a>
                    </td>
                </tr>
                <?php endforeach  ?> <br>
    </div>
    </tbody>
</div>
</table>
</div>
je suis redirigée lorsque je click sur soit OK ou KO sur une autre page.
Moi je souhaite apres mon onclick (apres valider) rester sur cette page et du coup, constater que j'ai soit valider mon comment soit supprimé!
et bien je n'y arrive pas :(

j'ai testé d'autres url aussi à la place de ce qui y est dans les a href ! sans aboutissement.

j'ai dans mon controller mon
require_once('../views/admin/comment/liste.php');
( c'est lui qui me redirige bien sur sur mon autre page) mais il me faut y aller pour apres valider ou pas ou editer

donc comment faire pour rester sur ma page? je sais pas :(
vous pouvez m'aider? merci bcp @++

Re: Rester sur la meme page apres validation

Posté : 24 févr. 2021, 20:00
par or 1
avec de l'ajax, par exemple :
https://api.jquery.com/jquery.get/

Re: Rester sur la meme page apres validation

Posté : 24 févr. 2021, 20:15
par Beebeepc
oula oula je n'ai pas encore fait cette bebete !!! merci je vais aller consulter ! :)

bon ba j'aivu !!! du chinois !! je n'ai pas appris ni eu encore l'occasion !! donc là
merci mais je peux pas :(

Re: Rester sur la meme page apres validation

Posté : 25 févr. 2021, 01:37
par two3d
Avec une requête XHR : https://developer.mozilla.org/fr/docs/W ... ttpRequest

J'utilise un fichier PHP qui écoute les post puis me renvoi les données (le principe du XHR), par exemple:

unFichierQuiEcoute.php:
<?php
if(isset($_POST['mon_input'])){
  echo "Vous avez envoyé : ".$_POST['mon_input'];
}

Dans la page où tu souhaite envoyer des données sans rafraichir:
<form method="post">
	<input type="text" name="nom_de_linput">
	<input type="submit">
</form>
<script>
//j'utilise la librairie jQuery pour que ce soit plus simple:
$("form").on("submit",function(e){
   e.preventDefault();//on l'utilise pour hiniber l'action qui va recharger la page, l'onglet se rechargera pas pour envoyer les données
   let nom_de_linput=$("input[name=nom_de_linput]").val();
   $.post("unFichierQuiEcoute.php",{mon_input:nom_de_linput},function(data <- avec on récupérera ce que unFichierQuiEcoute.php nous renverra){
      console.log(data); // normalement il y aura écrit "Vous avez envoyé : (les données contenues dans l'input envoyé)"
   });
});
</script>

Re: Rester sur la meme page apres validation

Posté : 25 févr. 2021, 13:03
par Beebeepc
ok merci je vais tenter :) !

mais je n'ai pas d'input dans ce contexte!
je n'ai pas un formulaire