Bonjour,

Je ne peux pas activer la fonction delete qui sert à supprimer un event dans mon calendrier. La suppression ne se produit pas lorsque je clique sur le bouton de suppression.
En fonction des modifications que je fais, le bouton n'apparaît pas ou je n'arrive pas à la page ou se trouve le formulaire mais par contre l'event est supprimer.

<div class="container">
<h1>Editer l'événement : <small><?= h($event->getName()); ?></small></h1>
<form action="" method="post" class="form">
<?php render('calendar/form' , ['data' => $data, 'errors' => $errors]); ?>
<div class="form-group">
<button class="btn btn-primary">Modifier l'événement</button>
</div>
<div class="form-group">
<a href="/edit.php?delete=<?= $id; ?>"
onclick="return window.confirm(Êtes vous sûr de vouloir supprimer ce commentaire ?!)"
class="btn btn-danger">Supprimer</a>
</div>
</form>

La fonction delete:

/**

  • TODO: supprime un événement
  • @param Event $event
  • @return bool
    */
    public function delete():bool
    {
    $statement = $this->pdo->prepare('DELETE FROM events WHERE id= :id');
    $statement->execute(array(
    ':id' => $_GET['id']
    ));
    return $statement->execute();
    header('Location:index.php');
    }

    Pouvez-vous m'aider. Je vous remercie

1 réponse


Bonjour

En fonction des modifications que je fais, le bouton n'apparaît pas
As-tu dans ta base de données des events ?

ou je n'arrive pas à la page ou se trouve le formulaire mais par contre l'event est supprimer.

return $statement->execute(); //ici tu retourne .... la ligne après n'est pas exécutée....
header('Location:index.php'); // et même si elle est exécutée, tu retournes sur l'index.