奇怪的jQuery .post行为

时间:2013-10-15 18:47:25

标签: php jquery mysql

我在我的网站上有几个这个脚本的克隆,它们可以工作。该功能是启用喜欢,跟随等(任何需要参考表来存储类似的东西,如下)等问题是我的喜欢功能它运行.post 12次。我的跟随脚本具有相同的jquery代码但不执行此操作。所以我求助于检查我的fave.php / unfave.php文件,但我找不到任何错误。它与我的follow.php / unfollow.php文件相同。有人能发现或意识到这种奇怪的行为吗?

基本上我的数据库中有12个条目。为什么呢?

fave.js

$(document).ready(function(){

$(function(){   
    $(".fvspan").on("click", ".favebtn", function(){
    var fvs = $(this).attr('id');
        if(fvs)
        {
            $.ajax({
                type: "POST",
                url: "/mobile/inc/vdfave.php",
                data: "fvs=" + fvs, 
                cache: false,
                success: function(data){
                    $("span#" + fvs + ".fvspan").html("<img id='" + fvs + "' class='favebtn-un' src='/assets/faved.png' height='50px'>");
                }
            });
        }
        else { }                    
    }); 
});

$(function(){   
    $(".fvspan").on("click", ".favebtn-un", function(){
    var fvs = $(this).attr('id');

        if(fvs)
        {
            $.ajax({
                type: "POST",
                url: "/mobile/inc/vdunfave.php",
                data: "fvs=" + fvs, 
                cache: false,
                success: function(data){                    
                    $("span#" + fvs + ".fvspan").html("<img id='" + fvs + "' class='favebtn' src='/assets/fave.png' height='50px'>");
                }
            });
        }
        else { }

    }); 
}); 
   });

vdfave.php

    <?php 
    session_start();

    //Make an SQL connection
    include('/home/bfreak/www/inc/dbc.php');

    $myself = $_SESSION['username'];
    $ref = $_POST['fvs'];
    $date = date("Y-m-d h:i:s");

    if (!isset($_SESSION['loggedIn'])) {    }
    else{$myinfo = mysql_query("SELECT * FROM users WHERE username = '$myself'");}

while($myid1 = mysql_fetch_array($myinfo)) 
{ 
    $myid = $myid1['id']; 

    //Insert form data into database with corresponding structure, in respective order, of SQL columns.
    $fvd = "INSERT INTO faves (vid, usr, date) VALUES ('$ref', '$myid', '$date')";
    if (!mysql_query($fvd, $con))   {die('Fatal Error: ' . mysql_error());}
}

    mysql_close($con);
    ?>

2 个答案:

答案 0 :(得分:0)

确保数据库中的users表中没有重复的用户名。 while循环可能正在运行12次。

改变这个:

mysql_query("SELECT * FROM users WHERE username = '$myself'");

以下:

mysql_query("SELECT * FROM users WHERE username = '$myself' LIMIT 1");

再次检查。

答案 1 :(得分:0)

我明白了!我在循环中运行了js脚本。我把它拿出来然后就可以了!