Добрый день!
Списываю код у автора видеоурока. Делаю всё, как у автора, но у него код работает, а у меня нет. В видеоуроке речь идёт о создании корзины, записи в неё и обновлении. При нажатии кнопки "Обновить" на странице
1_eshop.ru/admin/admin.html должно происходить обновление строки в базе данных, но этого не происходит. Если в момент нажатия "Обновить" в браузере открыть вкладку "Сеть", то там ничего не происходит, ни какой реакции браузера на это нажатие. Выложу код нескольких файлов имеющих (как мне кажется) отношение к данной проблеме:
Файл
admin.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="goods-out"></div>
<h2>Товар</h2>
<p>Имя: <input type="text" id="gname"></p>
<p>Стоимость: <input type="text" id="gcost"></p>
<p>Описание: <textarea id="gdescr"></textarea></p>
<p>Изображение: <input type="text" id="gimg"></p>
<p>Порядок: <input type="text" id="gorder"></p>
<input type="hidden" id="gid">
<button class="add-to-db">Обновить</button>
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/admin.js"></script>
</body>
</html>
Файл
core.php:
<?php
$action = $_POST['action'];
require_once 'function.php';
switch ($action) {
case 'init':
init();
break;
case "selectOneGoods":
selectOneGoods();
break;
case 'updateGoods':
updateGoods();
break;
}
Файл
function.php:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "eshop";
function connect(){
$conn = mysqli_connect("localhost", "root", "", "eshop");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
mysqli_set_charset($conn, "utf8");
return $conn;
}
function init(){
//вывожу список товаров
$conn = connect();
$sql = "SELECT id, name FROM goods";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$out = array();
while($row = mysqli_fetch_assoc($result)) {
$out[$row["id"]] = $row;
}
echo json_encode($out);
} else {
echo "0";
}
mysqli_close($conn);
}
function selectOneGoods() {
$conn = connect();
$id = $_POST['gid'];
$sql = "SELECT * FROM goods WHERE id = '$id'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
echo json_encode($row);
} else {
echo "0";
}
mysqli_close($conn);
}
function updateGoods() {
$conn = connect();
$id = $_POST['id'];
$name = $_POST['gname'];
$cost = $_POST['gcost'];
$descr = $_POST['gdescr'];
$ord = $_POST['gorder'];
$img = $_POST['gimg'];
$sql = "UPDATE goods SET name='$name', cost='$cost', description='$descr', ord='$ord', img='$img' WHERE id='$id' ";
if (mysqli_query($conn, $sql)) {
echo "1";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
mysqli_close($conn);
}
Подчеркну, что проблема с корзиной, только с обновлением в ней. Другие запросы к ней проходят.
Если по Вашему мнению проблема может, крыться в других файлах, то и их код я выложу.
Так выглядит база данных: