Я пытаюсь реализовать кнопку «Мне нравится» с помощью ajax, поэтому мне не нужно перезагружать страницу для обновления базы данных, но ни один запрос, выполняемый через ajax, не работает.
Я сократил его до проверки того, понравился ли этот проект пользователю или нет, и мне все еще не удается заставить его работать.
Я проверил:
-Ссылка $ хорошая (с помощью mysqli_ping ())
-Просмотр самого запроса (с помощью phpMyAdmin)
-Ажакс тоже кажется хорошим (замена echo $ val на echo 1 илиecho memberId предупреждает о хорошем значении).
code.js:
$("#likebtn").click(function(){
//check if already liked
$.ajax({
type:"POST",
url:"extra/projectpagefunctions.php",
data: {func: 'existsLinkProject', Table: 'projectLikes'},
success : function(result){
alert(result);
},
error : function(error){
console.log(error);
}
});
});
projectpagefunctions.php:
<?php
session_start();
$TestLink = mysqli_connect('localhost', '*******', '******', '******');
function existsLinkProject($Table){
$query = "SELECT * FROM `".$Table."` WHERE `memberId` = ".$_SESSION["account"]["memberId"]." AND `idProject` = ".$_SESSION["project"]["idProject"];
$result = mysqli_query($TestLink, $query);
$val=0;
if(mysqli_num_rows($result)>0){
$val=1;
}
echo $val;
}
if(isset($_POST["func"]) && mysqli_ping($TestLink)){
if($_POST["func"] == "existsLinkProject"){
existsLinkProject($_POST["Table"]);
}
}
else{
echo "error";
}
?>
Я ожидаю, что функция вернет 1, если ужепонравилось и 0 если нет.Но я получаю только 0 независимо от того, что находится в базе данных.
(при загрузке страницы я проверяю его и соответствующим образом устанавливаю цвет кнопки, и это уже работает)