2012-08-22 45 views
0

當我點擊用戶鏈接上的共享..它分享該帖子罰款,但它張貼了兩次。我檢查過螢火蟲,點擊後(一次)它顯示兩個POST請求,將兩個帖子插入數據庫,然後在用戶提要中顯示它們。 我真的不明白我要去哪裏錯了。共享內容時重複條目

共享鏈接

echo'<a class="sharelink" title="Share '.$poster_name['fullusersname'].'s status" href="#" 
data-streamitem_creator='.$streamitem_data['streamitem_creator'].' 
data-streamitem_target='.$_SESSION['id'].' 
data-streamitem_content='.$streamitem_data['streamitem_content'].' 
data-streamitem_type_id=4>Share</a>'; 

AJAX

$(document).ready(function() { 
    $('.sharelink').click(function(e) { 
     e.preventDefault(); 
     var streamitem_creator = $(this).data('streamitem_creator'); 
     var streamitem_target = $(this).data('streamitem_target'); 
     var streamitem_content = $(this).data('streamitem_content'); 
     var streamitem_type_id = $(this).data('streamitem_type_id'); 

     $.ajax({ 
      type: "POST", 
      url: "../include/share.php", 
      data: { 
       streamitem_creator: streamitem_creator, 
       streamitem_target: streamitem_target, 
       streamitem_content: streamitem_content, 
       streamitem_type_id: streamitem_type_id 
      }, 
      success: function(data) { 
       $(".usermsg").html(data); 
      } 
     }); 
    }); 
});​ 

SHARE.php

<? 
session_start(); 
require"load.php"; 

if(isset($_POST['streamitem_type_id'])&isset($_POST['streamitem_creator'])&isset($_POST['streamitem_content'])&isset($_POST['streamitem_target'])){ 

user_core::create_streamitem(4,$_SESSION['id'],$_POST['streamitem_content'],1,$_POST['streamitem_creator']); 

} 
?> 

LOAD.PHP

public function create_streamitem($typeid,$creatorid,$content,$ispublic,$targetuser){ 
    global $mysqli; 
      $content = $content; 
//   $content = strip_tags($content); 

      if(strlen($content)>0){ 

    $insert = "INSERT INTO streamdata(streamitem_type_id,streamitem_creator,streamitem_target,streamitem_timestamp,streamitem_content,streamitem_public) VALUES ($typeid,$creatorid,$targetuser,UTC_TIMESTAMP(),'$content',$ispublic)"; 
      $add_post = mysqli_query($mysqli,$insert) or die(mysqli_error($mysqli)); 
      $last_id = mysqli_insert_id($mysqli); 
       if(!($creatorid==$targetuser)){ 
        $fromuser= rawfeeds_user_core::getuser($creatorid); 
        $_SESSION['id']==$content; 
      }  
      return; 
      }else{ 
      return false; 
      } 
+0

不錯的'全球$數據庫'... –

+0

再來一次? @arxanas – dave

+0

看不到任何可能產生兩個請求。如果您調試點擊處理程序會怎麼樣?它被調用兩次嗎?我敢打賭。可能'$('。sharelink')。click(function(e){'被調用兩次。你檢查過了嗎?另外 - 如果你的鼠標產生兩次點擊,該怎麼辦? –

回答

0

我看不到任何問題。無論如何,你沒有$('.sharelink').click處理程序在你的頁面中註冊過兩次嗎?

+0

不是。我的所有請求都在一個文件中,所以我會知道是否屬於這種情況。我確實在dreamweaver中使用了FIND來查找任何重複的類,也是如此。嘗試你的回報錯誤。但並沒有改變。 – dave

+1

這是一個解決方法建議http://www.electrictoolbox.com/jquery-prevent-ajax-request-firing-twice/ –

+0

我看着它,看看我能做些什麼。非常感謝。 – dave