2012-06-29 48 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) {