2011-06-21 12 views
0

私はリンクとして与えられたものを削除しました。削除をクリックすると、データベースから値を削除したいが、確かにそれが機能していない...何が問題なの?jqueryを使用してデータベースから値を削除

<td align="center"> 
<div id="remove"> 
<a href='#' onclick="removeDesign()">remove</a> 
</div> 
</td> 

function removeDesign() 
{ 
var confirmation = confirm("Are You Sure You Want to Delete This Item?") 
if(confirmation == true) 
{ 
    $.post('remove.php',{designId : [<?=$_SESSION['designid']?>]}); 
} 
} 

remove.php:

<?php 

include("config/dbconn.php"); 
$DesignId=$_POST['designId']; 
$sql = "delete from design where id = '".$DesignId."'"; 
mysql_query($sql); 
?> 

問題はdesignid値がremove.phpに渡されていないのですか?誰にでも解決策を提示できますか?

+1

あなたのコードの悲鳴を試してみてください(http://en.wikipedia.org/wiki/SQL_injection)。 – Oded

+0

今は、これがうまくいかないのは、膨大なSQLインジェクションホールだからです。誰かが '' OR '' = ''を' designId'として提出したとしたら、あなたのデータベースのすべてのレコードはなくなります。データをサニタイズし、準備されたステートメントを調べます。 – lonesomeday

+0

よろしくお願いします。 – ssss05

答えて

1

[SQLインジェクションの脆弱性]の

$.post("remove.php",{designId : "'" + <?php echo $_SESSION['designid']?> + "'"}); 
+0

PHPのソートタグが有効になっていることを確認してください –

+0

はい... thats corrrect..i構文に間違いがありました... – ssss05