Je veux supprimer une ligne dans ma base de données et a trouvé un example sur la façon de le faire avec jQuery de .post $()
Maintenant, je me pose la sécurité si ..
Quelqu'un peut-il envoyer une requête POST à mon script delete-row.php d'un autre site Web?
JS
function deleterow(id) {
// alert(typeof(id)); // number
if (confirm('Are you sure want to delete?')) {
$.post('delete-row.php', {album_id:+id, ajax:'true'},
function() {
$("#row_"+id).fadeOut("slow");
});
}
}
PHP: delete-row.php
<?php
require_once("../db.php");
mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die("could not connect to database " . mysql_error());
mysql_select_db(DB_NAME) or die("could not select database " . mysql_error());
if (isset($_POST['album_id'])) {
$query = "DELETE FROM albums WHERE album_id = " . $_POST['album_id'];
$result = mysql_query($query);
if (!$result) die('Invalid query: ' . mysql_error());
echo "album deleted!";
}
?>
Juste pour ajouter: plus qu'un simple enregistrement, quelqu'un pourrait laisser tomber toute votre base de données avant de pouvoir cligner des yeux, via $ _POST ['album_id'].Pensez à utiliser mysqli ou PDO (requêtes paramétrées) au lieu de terribles mysql_ * si possible. – tadamson
merci beaucoup pour l'ajout de votre note sur mysqli et PDO, je n'ai jamais entendu parler d'eux avant, mais étudieront. Donc vous dites que l'exemple de code avec mysqli est beaucoup plus sûr? Mais aussi la preuve? – FFish