0

ボタンの息子phpページがあるかもしれません。ボタンの値を送信し、その値を使用してテーブルからレコードを削除したい。Ajaxzコードは

$('#product-table td #delete').live("click", function () {
                var doDelete = confirm('Are you sure you want to delete this record?');
                deleteLinkObj = $(this);

                if (doDelete) {


                    var id = $(this).attr('accesskey');
        $("#deleteid").val(id); 
        $.ajax({
                    url: "purchase.php",
                    data: {deleteid:id},
                    dataType: 'html',
                    success: function() {

                    }
                });


                }
                else { return false; }
                });

PHP では、deleteid の値を使用しようとしていますが、PHP コードが来ないのは

if(@$_POST['deleteid']!="")
                    {
                    $sql="delete from purchasedetails where purchaseid='".$_POST['deleteid']."'";
                    if(!mysql_query($sql))
                            {
                            die('Error: ' . mysql_error());
                            }
                            else
                            {
                            $msg="Data is deleted";
                            }
                    }   

isset($_POST['deleteid']) を使用してみましたが、エラーが表示されます

4

2 に答える 2

1

デフォルトでは $.ajax はタイプを GET として受け取るため、コードでタイプを定義する必要があります

この$.ajax構文のように試すことができます-

    $.ajax({
                url: "purchase.php",
                data: $("#deleteid").val(id),
                type: POST
                dataType: 'html',
                success: function() {
于 2013-01-03T09:01:08.123 に答える
1

あなたのajax呼び出しでは、リクエストメソッドを に設定していないPOSTため、デフォルトで になりますGET

    $.ajax({
                type: 'POST',
                url: "purchase.php",
                data: {deleteid:id},
                dataType: 'html',
                success: function() {

                }
            });

SQL インジェクションの脆弱性をすばやく修正するには、id を としてキャストできますintが、使用しているライブラリは非推奨であるため、PDO または MySQLi へのアップグレードを検討する必要があります。

$sql="delete from purchasedetails where purchaseid='".(int)$_POST['deleteid']."'";

purchaseid要素の accesskey として保存するのは最適な場所ではありません。data-myid属性として保存する方がよいため、 でアクセスできます$(this).data('myid')

于 2013-01-03T09:02:16.733 に答える