Невозможно сохранить сообщение в приложении форума: проблема с PHP, MySQL и JavaScriptPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно сохранить сообщение в приложении форума: проблема с PHP, MySQL и JavaScript

Сообщение Anonymous »

Проблема:
Я работаю над простым приложением форума, где пользователи могут отправлять сообщения через форму. Когда я нажимаю кнопку «Опубликовать», сообщение должно быть сохранено в базе данных MySQL, но, похоже, оно не работает. Я получаю сообщение об ошибке:
"При публикации вашего сообщения произошла ошибка".
Я пытался устранить проблему, но до сих пор не могу понять, что происходит не так. Может ли кто-нибудь помочь мне определить проблему и предложить ее решение?
Что я пробовал:
  • Проверил интерфейсный JavaScript : Я проверил, что данные формы отправляются в файл save_post.php правильно, но похоже, что данные не вставляются в базу данных.
  • Проверил внутренний PHP: Файл save_post.php, кажется, получает запрос, но я не уверен, что SQL-запрос выполнен правильно или нет.
  • Проверил базу данных: таблица сообщений существует, и я убедился, что структура таблицы соответствует данным, которые я пытаюсь вставить.
Полный код:
HTML и JavaScript (интерфейс)

Код: Выделить всё





Persistent Komarovi Forum

/* Add your CSS here for styling */





Komarovi Forum
Share your thoughts anonymously, upvote posts, and join the discussion!



Create a Post

Post






Footer content with Instagram logo



const postInput = document.getElementById("postInput");
const submitPost = document.getElementById("submitPost");
const postsContainer = document.getElementById("posts");

submitPost.addEventListener("click", () => {
const content = postInput.value.trim();
if (content) {
fetch("save_post.php", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: new URLSearchParams({ content: content })
})
.then(response => response.json())
.then(data => {
if (data.success) {
loadPosts(); // Reload posts after posting
postInput.value = ""; // Clear input field
} else {
alert("There was an error in publishing your post. Please try again.");
}
})
.catch(() => {
alert("There was an issue submitting your post.  Please try again.");
});
}
});

function loadPosts() {
fetch("get_posts.php")
.then(response => response.json())
.then(posts => {
postsContainer.innerHTML = ''; // Clear previous posts
posts.forEach(post => {
const postElement = document.createElement("div");
postElement.innerHTML = `

${post.content}

`;
postsContainer.appendChild(postElement);
});
})
.catch(error => console.error("Error loading posts:", error));
}

window.addEventListener("DOMContentLoaded", loadPosts);



PHP — save_post.php (бэкенд)

Код: Выделить всё


Database - posts Table Creation (MySQL)

CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Сообщение об ошибке:
При попытке опубликовать сообщение об ошибке:
"Произошло ошибка при публикации вашего сообщения.
Ожидаемый результат:
  • Когда пользователь нажимает «Опубликовать», содержимое должен быть вставлен в базу данных MySQL.
  • После этого сообщение должно появиться в разделе сообщений. на веб-странице.
Что я уже пробовал:
  • Проверил JavaScript : Запрос отправляется в файл save_post.php, но запись не сохраняется.
  • Проверил базу данных: таблица записей базы данных существует, ее структура правильная.
    Проверил PHP: отчеты об ошибках включены в PHP, чтобы помочь отладить любые проблемы.
В чем мне нужна помощь:
  • Почему данные не t вставляется в базу данных?
  • Правильен ли SQL-запрос?
  • Проблема связана с серверной частью PHP или внешним интерфейсом?
Учетные данные базы данных:
Убедитесь, что учетные данные базы данных в файле save_post.php верны и соответствуют тем, которые вы используете для подключения к базе данных MySQL.
Заранее благодарим за помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... ript-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»