Un petit probleme pour la suppression!PHP

Fermé
Jeremy - 14 juin 2010 à 08:12
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 - 14 juin 2010 à 10:10
Bonjour,

Je vous expose mon problème qui est le suivant :
Ma requète supprimer marche tres bien, le souci c'est qu'il faut que je clique 2 fois sur "Supprimer". Je m'explique, depuis que j'ai inséré un code pour avoir une demande de confirmation, il faut que je clique une 1ere fois sur supprimer ensuite sur "Ok" (la rien ne se passe juste un semblant d'actualisation) donc je reclique une seconde fois sur "supprimer" et une seconde fois sur "Ok" et la sa fonctionne. Donc j'aimerai que ma suppression se valide au 1er clique!
Voilà mon code :

if (isset($_GET['n'])) // Si on demande de supprimer une fsq
{
// Alors on supprime la fsq correspondante
// On protège la variable "fsq_id" pour éviter une faille SQL
$_GET['n'] = addslashes($_GET['n']);
mysql_query('DELETE FROM fsq WHERE fsq_id=\'' . $_GET['n'] . '\'');

}
echo " <table >
<tr>
<td colspan='4'><span style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; color:#1A8ACC; font-weight:bold'>$titrecentre</span> </td>
</tr>
<tr>

<td> </td>
</tr>
<tr >
<td> </td>
<td class='entete'>Fiche N°</td>
<td class='entete'>Date échéance</td>
<td class='entete'>Origine</td>
<td class='entete'>Pilote</td>
<td class='entete'>reponsable PA</td>
<td></td>
</tr> ";
while ($row = mysql_fetch_assoc($result) )
{
//print_r($row);
echo "<form name='fsq' action='".$action."' method='get' enctype='multipart/form-data' >";
echo"<tr align='left'>";
echo "<td><input type='hidden' name = 'ed_id' value ='".$row['fsq_id']."' /> <input type='hidden' name = 'centre' value ='".$centre."' /><input type='hidden' name = 'chemin' value ='".$chemin."' /><input type='hidden' name = 'titrepage' value ='".$titrepage." N° ".$row['fsq_id']."' /></td>";
echo "<td class='data'>".$row['fsq_id']."</td>";

echo "<td class='data'>".$row['fsq_date_dd']."</td>";
//echo "<td class='data'>".$row['fsq_nom']."</td>";

echo "<td class='data'>".$row['fsq_origine']."</td>";

echo "<td class='data'>".$row['fsq_pilote']."</td>";
if ($row['fsq_date_fin_prev'] == '0000-00-00' ) {echo "<td class='data'> </td>"; } else {echo "<td class='data'>".$row['fsq_date_fin_prev']."</td>"; }
echo "<td class='data'>".$row['fsq_resp_meo']."</td>";
echo "<td class='data'>".$row['fsq_date_fin_eval']."</td>";
//if ($row['fsq_date_fin_eval'] == '0000-00-00' ) {echo "<td class='data'> </td>"; } else {echo "<td class='data'>".$row['fsq_date_fin_eval']."</td>"; }
echo "<td style='padding-left:6px'><input type='image' src='images/folder_explore.jpg' name='Visualiser' /></td>
</form> ";

?>
<td><a href="AccueilPilote.php?centre=include/res_filtre_multi.php&n=<?php echo $row['fsq_id'] ; ?>" onclick="return(confirm('Etes-vous sûr de vouloir supprimer cette fiche?'));">Supprimer</a>
<?php
}
echo "</table>"; }
else
{
echo "
<table><tr><td style='padding:30px'><span style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; color:#1A8ACC; font-weight:bold'> Actuellement, aucune fiche ne correspond à ce critère</span>
</td></tr></table>
";
}
?>


En espérant que vous allez pouvoir résoudre mon problème! Merci d'avance.. Jérémy
A voir également:

4 réponses

a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
Modifié par a70m le 14/06/2010 à 08:18
Salut,

Fait plutôt un lien Supprimer du genre :

<a href="tapage.php?supprimer_id<?php echo $row['fsq_id'] ;?>=1" onClick="confirm(êtes-vous sûr de vouloir supprimer ?);"> Supprimer </a>


Et après tu fais :

if($ssupprimer_id<?php echo $row['fsq_id'] ;?> == 1) 
{ 
mysql_query('DELETE FROM fsq WHERE fsq_id=\'' . $_GET['n'] . '\'');  
}


Bon je l'ai fait vite fait parce que je n'ai pas trop de temps, mais dans l'idée c'est ça.

Cordialement
Si un jour, l'envie de travailler te prends, assied-toi et attends que ca passe ...
Les boulets, on ne les aime que dans les quotes ! Merci
0
Merci de ta réponse !
Mais hélàs je trouve une parse error que je n'arrive pas a rectifié...

<a href="AccueilPilote.php?centre=include/res_filtre_multi.php?supprimer_id<?php echo $row['fsq_id'] ;?>=1" onClick="confirm(êtes-vous sûr de vouloir supprimer ?);"> Supprimermer </a>

<?php
if($supprimer_id<?php echo $row['fsq_id'] ;?> == 1)
{
mysql_query('DELETE FROM fsq WHERE fsq_id=\'' . $_GET['supprimer_id'] . '\'');
}
0
J'ai essayé avec du code javascript et sa me fait la même chose... obliger de cliquer 2 fois pour supprimer la donné...

if (isset($_GET['n'])) // Si on demande de supprimer une fsq
{
// Alors on supprime la fsq correspondante
// On protège la variable "fsq_id" pour éviter une faille SQL
$_GET['n'] = addslashes($_GET['n']);
mysql_query('DELETE FROM fsq WHERE fsq_id=\'' . $_GET['n'] . '\'');

}
echo " <table >
<tr>
<td colspan='4'><span style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; color:#1A8ACC; font-weight:bold'>$titrecentre</span> </td>
</tr>
<tr>

<td> </td>
</tr>
<tr >
<td> </td>
<td class='entete'>Fiche N°</td>
<td class='entete'>Date échéance</td>
<td class='entete'>Origine</td>
<td class='entete'>Pilote</td>
<td class='entete'>reponsable PA</td>
<td></td>
</tr> ";
while ($row = mysql_fetch_assoc($result) )
{
//print_r($row);
echo "<form name='fsq' action='".$action."' method='get' enctype='multipart/form-data' >";
echo"<tr align='left'>";
echo "<td><input type='hidden' name = 'ed_id' value ='".$row['fsq_id']."' /> <input type='hidden' name = 'centre' value ='".$centre."' /><input type='hidden' name = 'chemin' value ='".$chemin."' /><input type='hidden' name = 'titrepage' value ='".$titrepage." N° ".$row['fsq_id']."' /></td>";
echo "<td class='data'>".$row['fsq_id']."</td>";

echo "<td class='data'>".$row['fsq_date_dd']."</td>";
//echo "<td class='data'>".$row['fsq_nom']."</td>";

echo "<td class='data'>".$row['fsq_origine']."</td>";

echo "<td class='data'>".$row['fsq_pilote']."</td>";
if ($row['fsq_date_fin_prev'] == '0000-00-00' ) {echo "<td class='data'> </td>"; } else {echo "<td class='data'>".$row['fsq_date_fin_prev']."</td>"; }
echo "<td class='data'>".$row['fsq_resp_meo']."</td>";
echo "<td class='data'>".$row['fsq_date_fin_eval']."</td>";
//if ($row['fsq_date_fin_eval'] == '0000-00-00' ) {echo "<td class='data'> </td>"; } else {echo "<td class='data'>".$row['fsq_date_fin_eval']."</td>"; }
echo "<td style='padding-left:6px'><input type='image' src='images/folder_explore.jpg' name='Visualiser' /></td>
</form> ";

?>
CODE MODIFIE :
<td><input type="submit" value="Supprimer"onclick="if (window.confirm('Vous etes sur de ne pas faire une betise ?'))
{location.href='AccueilPilote.php?centre=include/res_filtre_multi.php&n=<?php echo $row['fsq_id'] ;?>';return true;} else {return false;}"></td>



Aidez moi !=P

Mercid'avance !!
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 juin 2010 à 10:10
Re,

Pour la parse error,

<a href="AccueilPilote.php?centre=include/res_filtre_multi.php?supprimer_id<?php echo $row['fsq_id'] ;?>=1" onClick="confirm(êtes-vous sûr de vouloir supprimer ?);"> Supprimermer </a>


Je ne connais pas le ?centre=include/res_filtre_multi.php

C'est vraiment primordial pour ton code ?



0