Php ajax jquery,未调用查询

Php ajax jquery,未调用查询,php,jquery,ajax,Php,Jquery,Ajax,我自己使用ajax jquery创建了一个简单的跟踪系统,这就是功能: function follow(name){ jQuery.ajax({ type: "POST", url: "../include/follow.inc.php", data: "name", cache: false, }

我自己使用ajax jquery创建了一个简单的跟踪系统,这就是功能:

function follow(name){  
        jQuery.ajax({ 
            type: "POST", 
            url: "../include/follow.inc.php", 
            data: "name",
            cache: false, 
        }); 
    }
这就是调用该函数的按钮

我就是这样叫按钮的

$my_name = $_SESSION['account_name']; 
$user = $_POST['name'];

if (isset($_POST['name'])){
    $query = "INSERT INTO followed (follower, followed) VALUES ('$my_name', '$user')";
    $result = $database->query($query); 
}
在一天结束时,在查询没有被调用之前,一切看起来都正常。
基本上,它所做的是,获取(您希望关注的用户的)名称,在follow(name)中添加名称,并继续在查询中添加名称(这是它失败的地方)。

您的代码有两个问题

1-在检查变量$name是否存在之前创建变量$name,在调试模式下,您会看到php的注意事项

2-如评论中所述,您的代码容易受到XSS或SQL注入攻击

对于你的问题:试试这个,让我们知道结果


php文件:

if(isset($_POST['name'])){
    $my_name = $_SESSION['account_name']; 
    $user = $_POST['name'];
    $result = $database->query("INSERT INTO followed (follower, followed) VALUES ('" . $my_name . "', '" . $user . "')"); 
    if($result){
        echo('ok');
    }else{
        echo('error');
    }
}

功能:

function follow(name){  
        jQuery.ajax({ 
            type: "POST", 
            url: "../include/follow.inc.php", 
            data: "name",
            cache: false, 
        }); 
    }
function follow(n){  
    jQuery.ajax({ 
        type: 'POST',
        url: '../include/follow.inc.php',
        data: { name: n },
        cache: false,
        success: function(response){
            alert(response);
        },
        error: function(error){
            alert('Error in AJAX request !');
        }
    }); 
}

不要忘记使用xss清理功能从方法中的客户端获取数据

$user = your_any_xss_clean_function($_POST['name']);

你的代码有两个问题

1-在检查变量$name是否存在之前创建变量$name,在调试模式下,您会看到php的注意事项

2-如评论中所述,您的代码容易受到XSS或SQL注入攻击

对于你的问题:试试这个,让我们知道结果


php文件:

if(isset($_POST['name'])){
    $my_name = $_SESSION['account_name']; 
    $user = $_POST['name'];
    $result = $database->query("INSERT INTO followed (follower, followed) VALUES ('" . $my_name . "', '" . $user . "')"); 
    if($result){
        echo('ok');
    }else{
        echo('error');
    }
}

功能:

function follow(name){  
        jQuery.ajax({ 
            type: "POST", 
            url: "../include/follow.inc.php", 
            data: "name",
            cache: false, 
        }); 
    }
function follow(n){  
    jQuery.ajax({ 
        type: 'POST',
        url: '../include/follow.inc.php',
        data: { name: n },
        cache: false,
        success: function(response){
            alert(response);
        },
        error: function(error){
            alert('Error in AJAX request !');
        }
    }); 
}

不要忘记使用xss清理功能从方法中的客户端获取数据

$user = your_any_xss_clean_function($_POST['name']);

您的脚本已打开。即使你应该考虑在<代码> MySqLII< < /C>或“代码> PDO//COD> API,而不是级联值,检查<代码>数据的语法:“名称”,暗示它的错误,可能尝试<代码>数据:{No:No.},< /Cord> >一些基本的调试将告诉你<代码> ISSET($POST[ [名称] ])为false,如果我将字符串作为参数传递给函数onclick event jquery,您需要反向查找问题的原因?我尝试过调试,事件根本没有被调用。您的脚本已打开。即使你应该考虑在<代码> MySqLII< < /C>或“代码> PDO//COD> API,而不是级联值,检查<代码>数据的语法:“名称”,暗示它的错误,可能尝试<代码>数据:{No:No.},< /Cord> >一些基本的调试将告诉你<代码> ISSET($POST[ [名称] ])为false,如果我将字符串作为参数传递给函数onclick event jquery,您需要反向查找问题的原因?我尝试过调试,但根本没有调用该事件