Я новичок. Я чувствую, что что-то упускаю в своем мыслительном процессе. Я пробовал много разных вещей.
Я кодирую простую кнопку «Нравится» в каждое сообщение на моем сайте. У меня есть три PHP функции, связанные с этим:
isLiked($id)
использует $_Get['id']
для сообщения и IP-адрес пользователя ($_SERVER['REMOTE_ADDR']
), чтобы проверить, понравился ли пользователю уже этот конкретный пост. likes()
вставляет лайк в базу данных - он также использует $_GET['id']
getLikes($id)
получает количество лайков для каждого $id
likePost. php - это простая страница, которая просто вызывает likes()
(вставляет подобное в базу данных) и отображает результат, который равен getLikes($id)
. Да, я вызвал функцию внутри функции.
JavaScript, над которым я работаю, выглядит так (я НЕ обещаю, что это хорошо JS).
function likeButton() {
$.ajax({
url: "../../likes/", //This is likePost.php, after .htaccess rewrite
type: "post",
data: {
id:id },
success: function(likes) {
somethingHereIDontKnowWhat(likes); //UGH
}});
}
и моя ссылка прямо сейчас (без JavaScript) + количество лайков теперь выглядит так:
echo "<br/><div class='right'><a href='../../likes/" . $post->id . "'>
<img src='/images/like.png' title='Like this' alt='Like button'></a>" . getLikes($post->id) . "<div><br/>";
Я не могу обернуть голову, используя JS для запуска функции PHP (при отправке $ post_id URL-адресу для создания $ _GET ['id'], но также с использованием (того же?) JS для печати и обновления количества лайков при нажатии ссылки. Это как минимум две вещи, которые функция выполняется одновременно - или я полностью потерялся?
Какой должен дать мне количество лайков (скрестите пальцы !!), но мне нужен способ включить isLiked()
в него, так как ссылка должна быть отключена if isLiked() = true
.