Задать вопрос
@KirillKenigsberg

Кнопка лайка на php+js?

Здравствуйте!Делаю кнопку лайка на сайте, почему-то не работает.Кнопка всегда белая и в базу ничего не записывается(подключение точно верное). Мне хотя бы проблему с цветом решить.
Вот код обработчика клика:
<?session_start()?>
<script>
$('.heart')[0].addEventListener('click', function(){
        
        if (<? echo "'".$_SESSION['color'.$_GET['id']]."'"?> == 'white'){<?
            $sql = 'SELECT likes FROM login_cupa WHERE id='.$_GET['id'];
            include 'mysql/mysql_connect.php';
            $likes = mysqli_query($mysql, $sql);
            $like = mysqli_fetch_all($likes,  MYSQLI_ASSOC)[0]['likes'];
            $sql = 'UPDATE login_cupa SET likes='.++$like.' WHERE id="'.$_GET['id'].'"';
            mysqli_query($mysql, $sql);
            $_SESSION['color'.$_GET['id']] = 'red';
            ?>location.reload();
            return
            
        }
        else if(<? echo "'".$_SESSION['color'.$_GET['id']]."'"?> == 'red'){<?
            $sql = 'SELECT likes FROM login_cupa WHERE id='.$_GET['id'];
            include 'mysql/mysql_connect.php';
            $likes = mysqli_query($mysql, $sql);
            $like = mysqli_fetch_all($likes,  MYSQLI_ASSOC)[0]['likes'];
            $sql = 'UPDATE login_cupa SET likes='.--$like.' WHERE id="'.$_GET['id'].'"';
            mysqli_query($mysql, $sql);
            $_SESSION['color'.$_GET['id']] = 'white';
        ?>console.log(1)
        
        }
    console.log(<?echo "'".$_SESSION['color'.$_GET['id']]."'"?>);
    
});
</script>

И вот сама кнопка:
<a class="under_photo heart">Добавить в избранные <i class="far fa-heart"></i></a>
                            <a class="under_photo">Отправить открытку <i class="far fa-address-card"></i></a>
                            <? include "php/like_post.php" ?>
                            <? 
                            print_r($_SESSION);
                            if ($_SESSION['color'.$_GET['id']] == 'white'){
                                
                                ?>
                                <script>
                                    $('.heart').css('color', 'white');
                                    $('.heart').css('background', '#0075ff');
                                </script>
                                <?}
                                if ($_SESSION['color'.$_GET['id']] == 'red'){
                                    ?>
                                    <script>
                                        $('.heart').css('color', 'white');
                                        $('.heart').css('background', 'red');
                                    </script>
                                    <?
                                }
                            ?>
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
yupiter7575
@yupiter7575
Python программист
php код выполняется один раз на сервере , а не когда вы захотите.
Ответ написан
Комментировать
daemonhk
@daemonhk
ПсиХоПат
PHP отдельно, HTML отдельно, JS отдельно, потом курить что такое AJAX
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы