Ajouter une confirmation avant un delete

Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

J'ai ce lien qui supprime une ligne de données dans ma bdd. J'aimerais rajouter une confirmation avant d'exécuter la requête et je ne vois pas vraiment où ajouter cette partie javascript.
Voici mon lien :
<a href="deleteFacture.php?id='.$re['id'].'">Suppr</a>


Dès qu'on clique sur ce lien, cette requête ci-dessous est exécutée:
$req = $base->prepare('DELETE FROM infosfacture WHERE id= :id');
$req->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
// echo "<script type=\"text/javascript\">
// alert('Vous confirmez supprimer cette facture')
// </script>";
$req->execute();



J'ai écris cette fonction mais je ne vois pas comment l'utiliser à partir du lien :
function delete_confirm()
{
if(confirm("Voulez vous vraiment supprimer cette facture ?"))
{
alert('Supression effectuer');
location.href= 'deleteFacture.php';
}
else
{
alert('Suppression annulée');
location.href='listefactures.php';
}
}



Merci pour votre aide !
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Pour rester dans l'esprit du code que tu as écrit, je te suggère d'utiliser href="javascript:", auquel il faut également passer en paramètre l'id de l'élément à supprimer.
<a href="javascript:delete_confirm('.$re['id'].');">Suppr</a>


Et ta fonction delete_confirm :
function delete_confirm(id_facture)
{
    if(confirm("Voulez_vous vraiment supprimer cette facture ?"))
    {
        alert('Suppression effectuée');
        location.href= 'deleteFacture.php?id=' + id_facture;
    }
    else
    {
        alert('Suppression annulée');
    }
}


Xavier
0
Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   5
 
J'ai fait ça mais j'ai une erreur :
<a href="javascript:delete_confirm('.$re['id'].')">Suppr</a>


function delete_confirm($id_facture)
{
if(confirm("Voulez_vous vraiment supprimer cette facture ?"))
{
alert('Suppression effectuée');
location.href= 'deleteFacture.php?id='.$id_facture;
}
else
{
alert('Suppression annulée');
}
}

?>


Voici l'erreur : Parse error: syntax error, unexpected '=' in /homepages/0/d513201601/htdocs/Facturation_generale/listefactures.php on line 9

Ligne 9===> location.href= 'deleteFacture.php?id='.$id_facture;
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Ah ah pardon, j'ai écrit un peu vite et ai mélangé le php et le js...
Ligne 4===> function delete_confirm(id_facture)
Ligne 9===> location.href= 'deleteFacture.php?id=' + id_facture;
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Ah mais non ! Je l'avais bien écrite, c'est toi qui a modifié...
C'est une fonction Javascript, pas php !
0
Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   5
 
J'ai trouvé une solution plus courte:
<a href="deleteFacture.php?id=<?= $re['id'] ?>"
onclick="return confirm('Voulez-vous supprimer la facture n° <?php echo $re['num']; ?>');">
<FONT color="white">Suppr</FONT></a>
0