Annuler confirmation

sfaya -  
sfaya Messages postés 5 Statut Membre -
Bonjour,

je viens de créer une page qui permet de supprimer un élément de la base à partir d'une select menu ,
le problème c'est que meme si je clique sur annuler (de la fenêtre de confirmation ) l'élément s'est effacé
voilà mon essai:

<script langage="JavaScript">

function confirmation() {
var nom = document.getElementById('supprimer');
var namee = nom.options[ nom.selectedIndex].text;
var msg = "Etes-vous sur de vouloir supprimer "+namee+" ?";
if (confirm(msg))
location.reload(supprimer.php);


}
</script>
************************

<select name='supprimer' id="supprimer" >
<option>Selectionner</option>
<option value="supprimer"></option>
<?php

// je récupère ici l'élément à supprimer

echo '<option value=" '.$id.'">'.$name.'</option>';
}}
?>

<input type="submit" onclick="confirmation();" value="Supprimer"/>
</select>

*******************
dans le fichier supprimer.php j'ai :

if (isset($_POST['supprimer']))
{$element1=$_POST['supprimer'];
//conx à la base
$Query=mysql_query("delete from table where id='$element1'");

3 réponses

ReDLoG Messages postés 393 Statut Membre 57
 
Bonsoir,

Déjà il faut modifier cette partie de ta fonction javascript :
<script type="text/javascript" language="javascript"> 
function confirmation() {
	var nom = document.getElementById('supprimer'); 
	var namee = nom.options[nom.selectedIndex].value;
	var msg = "Etes-vous sur de vouloir supprimer "+namee+" ?";
	if (confirm(msg)) 
		location.href='supprimer.php';
}
</script>

Et celle-ci également :
<select name="supprimer" id="supprimer"> 
 <option value="">Sélectionner un élément à supprimer</option> 
<?php 
  // je récupère ici l'élément à supprimer 
  echo '<option value="'.$id.'">'.$name.'</option>'; 
 } 
} 
?> 
</select> 
<input type="submit" onclick="confirmation();" value="Supprimer" />

if (isset($_POST['supprimer']) && !empty($_POST['supprimer'])) { 
 $element1=$_POST['supprimer']; 
 //Requête de suppression dans la table 'table' 
 $Query=mysql_query("DELETE FROM table WHERE id="'.$element1."'") or die(mysql_error()); 
}

Cdlt.
Ne prenez pas la vie trop au sérieux; de toute façon, vous n'en sortirez pas vivant (°!°)
0
sfaya Messages postés 5 Statut Membre
 
bonjour,

même en faisant la modification que vous avez mentionnée, en cliquant sur annuler l'élément sélectionné s'est effacé de la base
0
sfaya Messages postés 5 Statut Membre
 
J'ai corrigé le problème, en fait ma select était dans une form non adéquate
Merci ReDLoG
mais un autre problème est apparu, c'est qu'en supprimant l'élément souhaité je voudrais rester sur la même page et non pas se rediriger vers la page supprimer.php !!
0
ReDLoG Messages postés 393 Statut Membre 57
 
Alors tu places ton code PHP dans la même page que ton formulaire et tu fais pointer le formulaire (attribut action="") sur la page qui le contient. Par exemple ta page contenant le formulaire s'appelle form.php alors :
<form method="php" action="form.php">

Et pour le code PHP comme il s'agit juste d'une requête de suppression tu le place avant le code HTML comme ceci :
<?php
// ton code PHP avec la requête
?><html>
<head>
<!--suite de ton code HTML, formulaire etc...-->
</body>
</html>

Cdlt.
0
sfaya Messages postés 5 Statut Membre
 
Je vous remercie ReDLoG
0