2012-06-29 49 views
1

使用類似/不喜歡的功能爲我的blogpost站點,並且變量不會流經。我已經盯着這幾天了,因爲所有的代碼看起來都不錯,而且我已經包含了包含varibales的所有必要頁面,所以無法找到中斷。任何見解?未傳遞給javascript和php的變量

這是「按鈕」我使用的「Like」按鈕:

<a href="#" onclick="like_add('. $blabid .')" class="like">Like</a> <span id="likes" class="likereadout">' . $likes . '</span> 

id變量正確地顯示,當我「檢查元素」,但不會通過以下Javafunction:

function like_add(postid) { 
    $.post('like_add.php', {postid:postid}, function(data) { 
    if (data == 'success') { 
    alert('Woohoo'); 
    } else { 
     alert('I need sleep.'); 
     } 
     }); 
     } 

的JavaScript應該將該變量傳遞給like_add.php,其內容爲:

<?php 
    include 'init.php'; 
    if (isset($_POST['postid']) && article_exists($_POST['postid'])) { 


    $postid = $_POST['postid']; 

    if (previously_liked($postid) === true) { 
    echo 'You\'ve already liked this!'; 
} else { 
    add_like($postid); 
    echo 'success'; 
    } 
    } 
    ?> 

哪些裁判列入的init.php文件中的以下PHP函數:

function article_exists($postid) { 
    $postid = (int)$postid; 
    return (mysql_result(mysql_query("SELECT COUNT('id') FROM 'blabbing' WHERE 'id' = $postid"), 0) == 0) ? false : true; 

}

和:

function add_like($postid) { 
    $postid = (int)$postid; 
    mysql_query("UPDATE 'blabbing' SET 'likes' = 'likes' + 1 WHERE 'id'= $postid"); 
    mysql_query("INSERT INTO 'likes' ('user_id', 'id') VALUES ($ip, $postid)"); 
    } 

Realllll新的這一切,所以請去容易在我身上。非常感謝你的幫助!

function article_exists($postid) { 
    $postid = (int)$postid; 
    return (mysql_result(mysql_query(
+2

的Java = JavaScript的!請修正你的問題的標題不要混淆任何人。 – biziclop

+0

你在哪裏連接到你的數據庫? – Onheiron

+0

嘗試改變你的查詢,特別是刪除表名和屬性周圍的那些撇號...我通常寫如「SELECT * FROM table WHERE id ='」。$ id。「'」 - 如果id是一個varchar – Onheiron

回答

0

當您發送throught $。員額,它必須字符串化的AJAX數據:

$.post('like_add.php', JSON.stringify({postid:postid}), function(data) {