Suppression dans mysql

Signaler
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005
-
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005
-
Bonjour voila mon probleme je n'arrive pas a supprimer un enregistrement complet ( la ligne complete), cela me renvoie a ma page d'accueil voila mes source :
supprimermessages.php :
<?php


// Vérification de l'autorisation
if (!$_SESSION["membre"]) {
// Si l'utilisateur n'est pas autorisé il est reconduit
// sur le formulaire d'identification
header("Location: ?page=3");
die();
}


// Paramètres de connexion à la base de données
include "includes/functions.inc.php";


$id = $_POST["id"];


@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");



$enreg = mysql_query("DELETE FROM table_messagerie WHERE id=".$id."");
header ("Location: ?page=28");



?>

affichagemessage.php :
<?php


// Vérification de l'autorisation
if (!$_SESSION["membre"]) {
// Si l'utilisateur n'est pas autorisé il est reconduit
// sur le formulaire d'identification
header("Location: ?page=3");
die();
}


// Paramètres de connexion à la base de données
include "includes/functions.inc.php";


@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");

{
$requete=mysql_query("SELECT * FROM table_messagerie WHERE destinataire='".$_SESSION["membreid"]."'");


print "
<form method=\post\\" action=\\"?page=29\\">
----

,
Date &amp; heure,
Expediteur,
Titre,
Supprimer,
\";
while($enreg = mysql_fetch_array($requete,MYSQL_ASSOC))
{
print \"
----

,
" . $enreg["date"] . "&nbsp;" . $enreg["heure"] . ",
" . $enreg["expediteur"] . ",
" . $enreg["titre"] . ",
,

\";
}
print \"
</form>

";
}


?>

Voila j'espere que qulquun va pouvoir m'aider merci

4 réponses

Messages postés
68
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
23 mars 2007

bonjour, essai ceci :


$id = $_POST['id'];


@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");



$enreg = mysql_query("DELETE FROM table_messagerie WHERE id='.$id.';");
header ("Location: ?page=28");
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



pour éviter les failles de SQL injection :



if(isset($_POST['id']) AND is_numeric($_POST['id']))

{

//DELETE FROM table WHERE id=machin...

}


a ++


<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005

non sa ne fonctionne pas non plus , je cherche une solution mais des que je fais la requete ( delete) sa me renvoie sur la page index est dans la barre d' adresse il maffiche = http://mce2005/newsite/?id=1&Submit=Supprimer
je ne comprend toujours pas pourquoi merci pour vaut response
Messages postés
116
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 septembre 2005

Il prend bien en compte l'id demander ici le id=1 mais on dirai que le probleme vient du formulaire car il devrait l'envoyer à "?page=29" mais la ravoit plutot sur
"?id=1&Submit=Supprimer "

jessaie de modifier le formulaire pour voir mais rien ne change pour le moment lol @+++