0

ユーザーが class のボタンをクリックしたときに、PHP コードを実行してデータベースのエントリを更新しようとしていますdeleteitem。これが私のAJAX/jQueryコードです:

<script type="text/javascript">
jQuery(document).ready(function() {
    $(".deleteitem").click(function() {
        var parent = $(this).closest('TR');
        var id = parent.attr('id');
        $.ajax({
            type: "POST",
            data: "id=" + id,
            URL: "rejectRequest.php",
            success: function(msg) {
                $('#' + id).remove();
            }
        });
    });
});
</script>

そして、これが私のrejectRequest.phpファイルです

<?php
$DB_HOST     = 'localhost';
$DB_USER     = 'root';
$DB_PASSWORD = '';
$DB_DATABASE = 'recomdb';

//Connect to mysql server
$con = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);
if (!$con) {
    die('Failed to connect to server: ' . mysql_error());
}

//Select database
$db = mysql_select_db($DB_DATABASE);
if (!$db) {
    die("Unable to select database");
}

$id1 = intval($_POST['id']);

if (isset($id)) {

$query = "UPDATE  request SET  status =  'rejected' WHERE id = $id1";

mysql_query($query) or die('Error, query failed');
}
mysql_close($con);

?>

JavaScript は正常に動作します: は削除されます。しかし、PHP は実行されません。

ボタンをクリックしたときに送信される内容をキャプチャすると、次のように表示されます。

Request URL:http://localhost/recom/students_requests_copy(2).php
Request Method:POST
Status Code:200 OK
Request Header
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:ar,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:4
Content-Type:application/x-www-form-urlencoded
Host:localhost
Origin:http://localhost
Referer:http://localhost/recom/students_requests_copy(2).php
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Dataview sourceview URL encoded
id:2
Response Headersview source
Connection:Keep-Alive
Content-Type:text/html
Date:Sun, 29 Sep 2013 12:40:27 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.19
Transfer-Encoding:chunked
X-Powered-By:PHP/5.4.19

**

rejectRequest.php ファイルを呼び出さないのはなぜですか?

**

4

3 に答える 3

2

URL のパラメーターはurl(大文字) ではなくURL(小文字) と呼ばれます。

于 2013-09-29T12:53:08.757 に答える
1

ajax パラメーターでは、url部分は小文字にする必要があります: URLではなくurl :

jQuery(document).ready(function() {
    $(".deleteitem").click(function() {
        var parent = $(this).closest('TR');
        var id = parent.attr('id');
        $.ajax({
            type: "POST",
            data: "id=" + id,
            url: "rejectRequest.php",
            success: function(msg) {
                $('#' + id).remove();
            }
        });
    });
});
于 2013-09-29T12:53:09.760 に答える
0

これを変える:

if (isset($id)) {

これに:

if (isset($id1)) {

古い mysql を使用している側では、mysqli または PDO を使用してください。また、SQL インジェクションに陥りやすいです。

于 2013-09-29T12:54:16.120 に答える