所以我尝试将表单中的 AJAX 调用信息发送到SQL中的表。
<form name="likedGames" method="post" id="likeForm" action="like.php">
<input type="text" name="liked" id="likeInput" value="123"/><button type="submit" id="likeButton"><i id="like" class="fa-solid fa-heart"></i></button>
</form>
这是 AJAX 调用:
$(document).ready(function () {
$("#likeForm").submit(function (event) {
var liked = $("#likeInput").val();
$.ajax({
type: "POST",
url: "like.php",
data: liked,
}).done(function (data) {
console.log(data);
});
event.preventDefault();
});
});
这就像.php:
<?php
$started = session_start();
$conn = new mysqli('localhost','root','password','mydb');
if(!$conn){
die("Connection Failed: ".mysqli_connect_error());
}
$userId = $_SESSION['userId'];
// $like = $_POST['liked'];
$like = isset($_POST["liked"] ) ? $_POST["liked"]: '';
$stmt = $conn->prepare("INSERT INTO likes(user_id, gameId) VALUES (?,?)");
$stmt->bind_param("ss", $userId, $like);
$execval = $stmt->execute();
$stmt->close();
$conn->close();
?>
正如您可能看到的,在like.php中有一个注解行,因为这是我第一次尝试从喜欢的输入中检索信息,但没有成功。
现在当用户点击提交按钮时,数据库确实得到了更新,但是gameId列的值总是0。它不应该得到123(或者用户在输入中键入的任何值)吗?我现在很困惑,所以任何帮助都将非常感谢。另外,如果有什么我可以做的来改进帖子,请告诉我。谢谢!
1条答案
按热度按时间uqzxnwby1#
我猜,您的ajax调用应该如下所示:
请参阅:https://api.jquery.com/jquery.ajax/