2012-06-29 2 views
1

Работа с функцией like/dislike для моего сайта blogpost, и переменные не будут проходить. Я смотрел на это целыми днями и не могу найти перерыв, поскольку весь код выглядит хорошо, и я включил все необходимые страницы, содержащие varibales. Какие-нибудь идеи?Переменная, не проходящая через javascript и php

Это «кнопка» Я использую для «как» кнопка:

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

Переменная идентификатор показывает правильно, когда я «проверить элемент», но не будут передавать на следующее Javafunction:

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

The 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'; 
    } 
    } 
    ?> 

Какие REFS следующие функции PHP включены в init.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

При передаче данных по AJAX Повсеместно $ .post, это должны быть строковой:

$.post('like_add.php', JSON.stringify({postid:postid}), function(data) { 
Смежные вопросы