DELETE from table where ID='$id' — Variable refuse de bâton

Essayer d'effectuer une tâche très simple ici.

J'ai un <ol> qui contient 4 lignes de données dans un peu de pratique <li>s. Je souhaite ajouter un bouton supprimer pour supprimer la ligne de la table. Le script en delete.php semble avoir fini, mais la ligne n'est pas supprimé lorsque je revenir en arrière et vérifier dashboard.php et PHPMyAdmin pour l'inscription.

Voici le code pour le bouton supprimer (à l'intérieur de PHP):

Print "<form action=delete.php method=POST><input name=".$info['ID']." type=hidden><input type=submit name=submit value=Remove></form>";

De passer à delete.php:

<? 
//initilize PHP

if($_POST['submit']) //If submit is hit
{
   //then connect as user
   //change user and password to your mySQL name and password
   mysql_connect("mysql.***.com","***","***") or die(mysql_error()); 

   //select which database you want to edit
   mysql_select_db("shpdb") or die(mysql_error()); 

   //convert all the posts to variables:
   $id = $_POST['ID'];


   $result=mysql_query("DELETE FROM savannah WHERE ID='$id'") or die(mysql_error()); 

    //confirm
   echo "Patient removed. <a href=dashboard.php>Return to Dashboard</a>"; 
}
?>

Base de données est: shpdb
Le tableau est: savannah

Idées?

  • Pouvez-vous imprimer à savoir echo "SUPPRESSION DE la savane where ID='$id'"; pour voir si $id vraiment remplacé par la valeur.
  • Ce code est vulnérable à une injection SQL. php.net/manual/en/security.database.sql-injection.php
  • Aussi, vous devez assurez-vous que les gens ne sont pas en mesure de supprimer l'arbitraire choses en devinant id. Si c'est de l'utilisateur des données, ce qui ne m'empêche de deviner identifiant et en supprimant les autres peuples de l'information.
  • J'ai écrit une fonction que j'ai retrouvée sur un autre post... fonction coffre-fort($valeur){ return mysql_real_escape_string($valeur); } Cependant, l'encapsulation: $result=mysql_query("DELETE from savannah where ID='$id'") or die(mysql_error()); avec la fonction de sécurité, il tombe... Doit-je faire un autre post?
InformationsquelleAutor chris m | 2009-10-14