За последние 24 часа нас посетили 10211 программистов и 624 робота. Сейчас ищут 285 программистов ...

Не отправляется AJAX

Тема в разделе "PHP для новичков", создана пользователем AbogusGames, 4 май 2021.

  1. AbogusGames

    AbogusGames Новичок

    С нами с:
    10 ноя 2020
    Сообщения:
    43
    Симпатии:
    0
    Есть элемент, при клике на который должна отправляться функция AJAX
    Код (Javascript):
    1.         $(document).ready(function() {
    2.     $('#likebtn').click(function(){
    3.         setVote($(this));
    4.     });
    5.     });
    6.         // type - тип голоса. Лайк или дизлайк
    7. // element - кнопка, по которой кликнули
    8. function setVote(element){
    9.     // получение данных из полей
    10.     var post_id = $('#idforpost').val();
    11.  
    12.     $.ajax({
    13.         // метод отправки
    14.         type: "POST",
    15.         // путь до скрипта-обработчика
    16.         url: "includes/likeme.php?id=post_id",
    17.         // какие данные будут переданы
    18.         data: {
    19.             'post_id': post_id,
    20.         },
    21.         // тип передачи данных
    22.         dataType: "json",
    23.         // действие, при ответе с сервера
    24.         success: function(data){
    25.             // в случае, когда пришло success. Отработало без ошибок
    26.             if(data.result == 'success'){
    27.                 // Выводим сообщение
    28.                 alert('Голос засчитан');
    29.             }else{
    30.                 // вывод сообщения об ошибке
    31.                 alert('Произошла ошибка!');
    32.             }
    33.         }
    34.     });
    35. }
    Сам элемент

    HTML:
    1.                          
    2.                             <input type="hidden" value="<?php echo $user_posts[$i]['id'] ?>" id="idforpost">
    3. <button class="like_btn" name="likebtn" id="likebtn">
    4.                             <div class="likeimage"></div><h4 class="post_like"><?php echo htmlspecialchars($user_posts[$i]['likes']) ?></h4>
    5.                         </button>
    И скрипт PHP

    PHP:
    1. <?php
    2. require_once('../admin/inc/check.php');
    3. require_once('../admin/inc/config.php');
    4. $userlogin = $_COOKIE['user'];
    5. $postid = $_GET['id'];
    6. //
    7. $getlikecount = $mysql->query("SELECT COUNT(`from`) AS `likecount` FROM `likes` WHERE `from` = '$userlogin'");
    8. $likecount = $getlikecount->fetch_assoc()['likecount'];
    9. // Берём значения
    10. $all_likes = $mysql->query("SELECT * FROM `likes` WHERE `from` = '$userlogin'");
    11. $likes = $all_likes->fetch_array();
    12.     if(empty($likes)) {
    13.         $mysql->query("INSERT INTO `likes` (`to`, `from`, `postid`) VALUES('$userlogin', '$userlogin', '$postid')");
    14.         $mysql->query("UPDATE `posts` SET `likes` = '$likecount' WHERE `userlogin` = '$userlogin'  AND `id` = '$postid'");
    15.         $mysql->query("UPDATE `posts` SET `likes` = '$likecount' WHERE `userlogin` = '$userlogin' AND `id` = '$postid'");
    16.         echo json_encode(array('result' => 'success'));
    17.         header('Location: ../index.php');
    18.     }
    19.     else if($likes != '') {
    20.         if($likes['from'] == $userlogin && $postid == $_GET['id']) {
    21.             $mysql->query("DELETE FROM `likes` WHERE `from` = '$userlogin'  AND `postid` = '$postid'");
    22.             $mysql->query("UPDATE `posts` SET `likes` = '$likecount' WHERE `userlogin` = '$userlogin' AND `id` = '$postid'");
    23.             echojson_encode(array('result'=>'success'));
    24.             header('Location: ../index.php');
    25.         }
    26.     }
    27. ?>
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    2.804
    Симпатии:
    522
    Адрес:
    Татарстан
    И? Где вопрос?
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    2.804
    Симпатии:
    522
    Адрес:
    Татарстан
    для надежности два раза?
     
  4. AbogusGames

    AbogusGames Новичок

    С нами с:
    10 ноя 2020
    Сообщения:
    43
    Симпатии:
    0
    Не отправляется AJAX
    --- Добавлено ---
    da) спасибо что подсказал, видимо два раза вставил)
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.962
    Симпатии:
    1.575
    Что в консоли браузера?
    --- Добавлено ---
    Кто-то тебя обманул. Так JS переменные в строки не подставляет. https://learn.javascript.ru/string - читаем, и смотрим, как правильно
     
  6. AbogusGames

    AbogusGames Новичок

    С нами с:
    10 ноя 2020
    Сообщения:
    43
    Симпатии:
    0
    хорошо)