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?
Vous devez vous connecter pour publier un commentaire.
C'est en refusant de bâton parce que vous appelez ça une chose et de le faire avec un autre. Modification:
à
parce que dans delete.php vous tentez d'y accéder avec:
Vous devriez vraiment citer les valeurs d'attribut ainsi ie:
ou encore:
S'il vous plaît, pour l'amour du web, n'a pas construit une requête SQL vous-même. Utilisation AOP.
Juste un autre point que je voudrais faire. Je suis sûr à 95% que vous ne pouvez pas donner une entrée numérique nom/id de l'attribut. Il doit être comme "id_1" et non "1".
Aussi avec php, vous pouvez le faire tableaux.
De sorte que vous pourriez faire ce
puis dans votre php