Lien confirmation supression

Signaler
Messages postés
4
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
17 mars 2010
-
Messages postés
4
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
17 mars 2010
-
Bonjour à tous,

Je suis débutante en javascript, et j'aimerais de votre aide. Cela fait un moment que je coince sur quelquechose de très bête.

Je suis actuellement entrain de développer un site intranet en PHP mais j'ai intégré du javascript. Le principe c'est : lorsque que je cherche un mot dans la barre de recherche et qu'il trouve un ou des résultats, l'utilisateur pour supprimer en cliquant sur le lien.

Le problème : lorsque j'appuie sur le lien, le message de confirmation s'affiche bien mais l'élément n'est pas supprimé !

Voici mon code :

<script type= "text/javascript">
function confirmation(val) {

if (confirm("Etes-vous sur de vouloir supprimer le document ?"))
{
window.location.href='dossiers.php?delete=' +val+'';
alert("Le document a bien ete supprime");
}
else
{
alert("Annulation de la suppression d'occurence");
window.location.href='dossiers.php';
}
}
</script>





<!--Formulaire de recherche -->
<center>
<FORM name="recherche" ACTION="dossiers.php" METHOD="POST">
,


</form>
<!-- fin formulaire recherche-->



// moteur de recherche



if ($_POST['recherche'] == "" )
{
//on redirige le visiteur sur la page de recherche
header('location: index.php?msg=Veuillez+indiquer+le+mot+recherché+!');


}
else



{
//importation fichier de config
require_once('config.php');

//requête de recherche
$req = mysql_query("SELECT * FROM document WHERE mots_cles LIKE '%".$_POST['recherche']."%' Order by chemin_doc Asc ");

//on compte les resultats
$resultat= mysql_numrows($req);

if (isset($_GET['delete']))
{
mysql_query("DELETE FROM document WHERE id_doc='".$_GET['delete']."'");

}
}

if(empty($resultat))

{

echo'
Désolé mais aucun resultat ne correspond à votre demande

';
echo '[ajout_doc.php Ajouter un document ]';
}
else
{



//on affiche le nombre de resultats
echo'Pour le mot '.$_POST['recherche'].'
il y\'a : ';

if($resultat < =1)
echo''.$resultat.' resultat';
elseif($resultat >1)
echo''.$resultat.' resultats';
echo'
,

----

<table/>';

//on ressort les infos par ordres alphabétiques
while($result = mysql_fetch_array($req) )
{
echo'<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
----

Titre du document :,
'.$result['titre_doc'].',
Supprimer,
// C EST ICI QUE SE TROUVE MON LIEN DE SUPPRESSION
Modifier,

----

,
,
,

----

Télécharger le document :,
'.$result['chemin_doc'].',

----

,
,
,
<hr>';

}
echo'

';


}





?>

5 réponses

Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
Bonjour,
est-ce que tu as bien la variable delete dans ton adresse une fois que la redirection a été faite?



Personne ne peut se permettre de juger l'autre....
Messages postés
4
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
17 mars 2010

Bonjour,

non il n'y a pas le delete dans l'adresse après la redirection. Par contre lorsque je passe la souris sur le lien, dans la barre d'en bas j'ai bien delete avec le l'id.
Je pense que le problème ne vient pas de la requête mais plutôt de l'endroit où il se situe dans le code.

Cela renvoie à page de recherche directement soit cela dans la barre de navigation :
" http://127.0.0.1:8080/index.php?msg=Veuillez+indiquer+le+mot+recherch%E9+!"

Quelqu'un aurait une idée ?
Messages postés
4
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
17 mars 2010

En effet, je pense réellement que c'est l'emplacement de la requête qui pose problème.

Pour cela, j'ai placé la requête dans un nouveau fichier suppr_doc.php, et lorsque je valide le JS et bien cela supprime
bien mon élément.

Un autre problème se pose :

Lorsque j'annule le JS cela me supprime également mon élément. Voilà les bouts de code concernés.

<script type="text/javascript">
function confirmation(val)
{
if (confirm("Etes-vous sur de vouloir supprimer le document ?"))
{
window.location.href='suppr_doc.php?delete=' +val+'';
alert("Le document a bien ete supprime");
}
else
{
alert("Annulation de la suppression d'occurence");
window.location.href='dossiers.php';
}
}
</script>
<?php
while($result = mysql_fetch_array($req) )
{
echo'Titre du document :,
'.$result['titre_doc'].',
Supprimer,

Modifier,

----

,
,
,

----

Télécharger le document :,
'.$result['chemin_doc'].',

----

,
,
,
<hr>';

}
echo'

'; ?>
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
Et tu obtiens quelle alert?
essaye en les mettant en commentaire pour voir car niveau code je ne vois pas d'erreur



Personne ne peut se permettre de juger l'autre....
Messages postés
4
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
17 mars 2010

Bonjour,

Lorsque j'annule j'ai bien l'alert " Annulation de la suppression d'occurence " mais après cela me renvoie à la page :

"http://127.0.0.1:8080/suppr_doc.php?delete=69" Comme lorsque je confirme la suppression. Alors que je devrais retomber sur la page dossiers.php.

J'ai trouvé la solution :

Dans le script JS, dans le "else" il fallait inverser l'ordre des actions.
Au lieu de la mettre comme cela :

<script type="text/javascript">
function confirmation(val)
{
if (confirm("Etes-vous sur de vouloir supprimer le document ?"))
{
window.location.href='suppr_doc.php?delete=' +val+'';
alert("Le document a bien ete supprime");
}
else
{

alert("Annulation de la suppression d'occurence");
window.location.href='dossiers.php';

}
}
</script>


Il fallait mettre cela :

<script type="text/javascript">
function confirmation(val)
{
if (confirm("Etes-vous sur de vouloir supprimer le document ?"))
{
window.location.href='suppr_doc.php?delete=' +val+'';
alert("Le document a bien ete supprime");
}
else
{

window.location.href='dossiers.php';
alert("Annulation de la suppression d'occurence");


}
}
</script>

Merci de votre aide.