Page 1 sur 2
Probleme de suppression de donnees
Posté : 03 juin 2005, 11:14
par brani
Voici mon script qui veux pas marcher.
<form action="" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name"id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
mysql_connect("localhost", "*****", "*****");
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id='$_POST['id']'");
mysql_close();
?>
[/code]
Posté : 03 juin 2005, 11:16
par Cyrano
D'abord on dit bonjour, ça se fait, ensuite, si tu veux qu'on sache comment t'aider, il faut nous donner des éléments: ton code ne nous indique rien. As-tu un message d'erreur ? Si oui, indique-t-il une ligne précise du code? peut-on savoir à quoi correspond cette ligne dans le code ?
Posté : 03 juin 2005, 11:22
par zeus
Je pense que tu as un problème de compréhension du fonctionnement,
Quand tu appelle ta page, tu vas tout d'abord executer le script PHP, puis tu vas envoyé le code HTML sur le navigateur qui va l'interpreter et l'afficher.
Donc, au premier affichage, ta variable $_POST['id'] n'existe pas encore vu que le formulaire n'a jamais été affiché et encore moins validé !!!!
Si tu veux que ton script fonctionne, il faut que tu teste si le formulaire a été validé, autrement dit si ta variable POST existe !!!
Essaye ce code :
<form action="" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name"id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
if (isset($_POST['id'])) {
mysql_connect("localhost", "*****", "*****");
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id='$_POST['id']'");
mysql_close();
}
?>
PS : comme le dit
Cyrano, un petit bonjour, ca fait toujours plaisir et ça coute pas grand chose ....
On est pas des machines à débugger
Et puis c'est toujours plus sympa de discuter un peu

Posté : 03 juin 2005, 11:23
par brani
excuse moi , Bonjour cyrano
en faite je veu, a partir d'un formulaire supprimer des donnees, je rentre l'id
de la donnees a supprimer , puis normalement ca supprime.
<form action="" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name"id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
mysql_connect("localhost", "*****", "*****"); // on se connecte a la bdd
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id='$_POST['id']'"); // on supprime l'id qui a pour valeur
// $_POST['id'] qui doit corespondre a l'id entré
// dans le formulaire.
mysql_close();
?>
Posté : 03 juin 2005, 11:24
par Cyrano
Bis repetita placent
il faut nous donner des éléments: ton code ne nous indique rien. As-tu un message d'erreur ? Si oui, indique-t-il une ligne précise du code? peut-on savoir à quoi correspond cette ligne dans le code ?
Posté : 03 juin 2005, 11:24
par brani
merci zeus , j'avai pensé a ca mais je nétait pas sure je vais essayer et jte repond .
merci
Posté : 03 juin 2005, 11:25
par zeus
On a posté en même temps, mais regarde ma solution, elle doit t'interesser
Posté : 03 juin 2005, 11:31
par brani
g une erreur qui s'affiche
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/epesm/www/pages/option.php on line 30
<form action="" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name"id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
if (isset($_POST['id'])) {
mysql_connect("localhost", "*****", "*****");
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id='$_POST['id']'"); // ligne 30
mysql_close();
}
?>
Posté : 03 juin 2005, 11:34
par zeus
Il ne faut pas que tu encapsule ta variable POST
<form action="" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name"id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
if (isset($_POST['id'])) {
mysql_connect("localhost", "*****", "*****");
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id=".$_POST['id'].");
mysql_close();
}
?>
Posté : 03 juin 2005, 11:43
par brani
g essayer mais ca ne marche pas ya pas derreur mais les donnees ne se supprime pas.
et je voi pas d'ou ca vien
<form action="" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name"id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
if (isset($_POST['id'])) {
mysql_connect("localhost", "*****", "*****");
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id=".$_POST['id']."");
mysql_close();
}
?>
Posté : 03 juin 2005, 11:45
par renatane
fautr pas mettre une action au formulaire? du genre tapage.php.
Posté : 03 juin 2005, 11:50
par zeus
C'est vrai, j'avais pas vu !!!
dans ta balise <form>, soit tu ne met pas l'attribut action="" et il se redirige automatiquement vers elle même, soit tu met action="mapage.php" ou mapage.php est la page qui contient le formulaire !!!
Je te conseille la 2eme solution, ça évite d'éventuels pb de compatibilité !!!
Posté : 03 juin 2005, 11:52
par brani
j'ai fait le changement action="suppression.php"
mai rien je sui dsl de vous embété ,
Posté : 03 juin 2005, 11:55
par renatane
<form action="suppression.php" method="post">
<p align="center"><span class="Style1">Entrer l'id du message a supprimer</span></p>
<p align="center">
<input name="id" type="text" size="10">
</p>
<p align="center">
<input type="submit" value="supprimer">
</p>
</form>
<?
if (isset($_POST['id'])) {
mysql_connect("localhost", "*****", "*****");
mysql_select_db("bdd");
mysql_query("DELETE FROM chat WHERE id=".$_POST['id']);
mysql_close();
}
?>
essaye now.
Posté : 03 juin 2005, 12:00
par zeus
et si tu fait afficher ta requete, est ce que l'id saisi existe bien dans la base de données ?
Parce que si tu essaye d'effacer un id qui n'existe pas ...
