Confirmation avant suppression de données
Résolu/Fermé
A voir également:
- Message de confirmation de suppression exemple
- Confirmation de lecture whatsapp - Guide
- Url exemple - Guide
- Forcer suppression fichier - Guide
- Recuperer message whatsapp - Guide
- Confirmation de lecture gmail - Guide
7 réponses
zcrew
Messages postés
231
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 février 2010
25
8 févr. 2010 à 17:40
8 févr. 2010 à 17:40
Ah oui , tu créés une page ton_script_de_suppression.php avec
<?php
f (isset($_GET['id'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<?php
f (isset($_GET['id'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
zcrew
Messages postés
231
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 février 2010
25
8 févr. 2010 à 17:15
8 févr. 2010 à 17:15
Je vois 2 possibilités :
- 1. tu utilises une page 'tampon' de confirmation avant la suppression
- 2. tu utilises le onclick pour déclencher la suppression avec ajax -> tu mets le code de suppression dans une page à part
- 1. tu utilises une page 'tampon' de confirmation avant la suppression
- 2. tu utilises le onclick pour déclencher la suppression avec ajax -> tu mets le code de suppression dans une page à part
C'est bien ça mon problème, c'est que j'aimerais rester sur la même page sur laquelle sont reprises toutes mes données sous forme de listing avec possibilité de modifier ou de supprimer chaque donnée.
J'aimerais utiliser le onclick mais dans ton exemple tu cites Ajax, malheureusement, je ne connais pas du tout... Je pensais le tenter en Javascript (c'est l'exemple que je donne dans mon premier post) mais cela ne fonctionne pas...
Je continue à chercher de mon côté mais votre aide me sera très précieuse... merci !
J'aimerais utiliser le onclick mais dans ton exemple tu cites Ajax, malheureusement, je ne connais pas du tout... Je pensais le tenter en Javascript (c'est l'exemple que je donne dans mon premier post) mais cela ne fonctionne pas...
Je continue à chercher de mon côté mais votre aide me sera très précieuse... merci !
alors fait : un truc du genre
<a href="" onClick="window.alert('hello world! ')">test message</a>
<a href="" onClick="window.alert('hello world! ')">test message</a>
Non, toujours rien. Quand je clique sur supprimer, les données sont directement supprimées...
Voici ce que j'ai mis :
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '" onclick="window.alert('Hello world !')">'; ?>Supprimer</a></td>
Dois-je mettre autre chose ailleurs dans ma page ?
Voici ce que j'ai mis :
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '" onclick="window.alert('Hello world !')">'; ?>Supprimer</a></td>
Dois-je mettre autre chose ailleurs dans ma page ?
Aucune différence entre :
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '" onclick="return confirm('test?');">'; ?>Supprimer</a></td>
et :
<td><a href="liste_news.php?supprimer_news=<?php echo $donnees['id'] ?>"onclick="return confirm('test?');">supprimer</a></td>
Les données sont supprimées directement et aucun message n'apparait...
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '" onclick="return confirm('test?');">'; ?>Supprimer</a></td>
et :
<td><a href="liste_news.php?supprimer_news=<?php echo $donnees['id'] ?>"onclick="return confirm('test?');">supprimer</a></td>
Les données sont supprimées directement et aucun message n'apparait...
zcrew
Messages postés
231
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 février 2010
25
8 févr. 2010 à 17:34
8 févr. 2010 à 17:34
Ajax te permet d'appeler un script sur une autre page pour modifier le contenu de la page actuelle
Dans ton cas je vois un <div> bien identifié, par exemple <div id="d_xxx">, avec dedans ton lien pour supprimer : <a href="" onclick="effacer(xxx)"> effacer l'id xxx</a>
les xxx sont toujours le même id du même objet à supprimer
Dans ton <head></head> tu places ça :
function effacer(id) {
if (confirm("Effacer" + id + " ?"))
{
var url;
url = "http://ton_script_de_suppression.php?id=" + id;
var httpRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
// Voir la note ci-dessous à propos de cette ligne
}
}
else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
//alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
httpRequest.onreadystatechange = function() { effacer2(httpRequest, id); };
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
}
function effacer2(httpRequest, id) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
document.getElementById('div_'+id).value = httpRequest.responseText;
}
}
}
Dans ton cas je vois un <div> bien identifié, par exemple <div id="d_xxx">, avec dedans ton lien pour supprimer : <a href="" onclick="effacer(xxx)"> effacer l'id xxx</a>
les xxx sont toujours le même id du même objet à supprimer
Dans ton <head></head> tu places ça :
function effacer(id) {
if (confirm("Effacer" + id + " ?"))
{
var url;
url = "http://ton_script_de_suppression.php?id=" + id;
var httpRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
// Voir la note ci-dessous à propos de cette ligne
}
}
else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
//alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
httpRequest.onreadystatechange = function() { effacer2(httpRequest, id); };
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
}
function effacer2(httpRequest, id) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
document.getElementById('div_'+id).value = httpRequest.responseText;
}
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zcrew
Messages postés
231
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
26 février 2010
25
8 févr. 2010 à 17:46
8 févr. 2010 à 17:46
Re (je veux aller trop vite) :
function effacer2(httpRequest, id) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
document.getElementById('div_'+id).innertHtml = '';
}
}
}
au lieu de ce qu j'ai mis au dessus
function effacer2(httpRequest, id) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
document.getElementById('div_'+id).innertHtml = '';
}
}
}
au lieu de ce qu j'ai mis au dessus
Malheureusement Zcrew, je n'y comprends rien à l'Ajax...
Par contre, j'aimerais trouver une solution pour le onclick... Pourquoi rien ne s'affiche ?
Merci d'avance à tous pour vos réponses...
Par contre, j'aimerais trouver une solution pour le onclick... Pourquoi rien ne s'affiche ?
Merci d'avance à tous pour vos réponses...