Maison >base de données >tutoriel mysql >Comment utiliser MySQL et JavaScript pour implémenter une fonction de forum simple

Comment utiliser MySQL et JavaScript pour implémenter une fonction de forum simple

王林
王林original
2023-09-22 10:21:29705parcourir

Comment utiliser MySQL et JavaScript pour implémenter une fonction de forum simple

Comment utiliser MySQL et JavaScript pour implémenter une fonction de forum simple

Introduction :
En tant que l'une des plateformes sociales les plus importantes sur Internet, le forum dispose de fonctions telles que l'enregistrement des utilisateurs, la publication, la réponse et l'affichage des publications. Cet article explique comment utiliser MySQL et JavaScript pour implémenter une fonction de forum simple et fournit des exemples de code spécifiques.

1. Préparation
1. Installez le serveur et le client MySQL et créez une base de données.
2. Créez un serveur Web, tel qu'Apache, Nginx, etc.
3. Créez une page HTML comme interface frontale du forum.

2. Conception de la base de données
Cette fonction de forum doit stocker les informations sur les utilisateurs, publier des informations et répondre. Nous concevons trois tables : la table des utilisateurs (utilisateurs), la table des publications (messages) et la table des réponses (commentaires).

1. Table des utilisateurs (users) :
Champs :

  • id : clé primaire, auto-incrémentation, identifiant utilisateur.
  • username : nom d'utilisateur, unique.
  • mot de passe : Mot de passe.

2. Table des publications (posts) :
Champs :

  • id : clé primaire, auto-incrémentation, identifiant de publication.
  • titre : titre du message.
  • contenu : publiez du contenu.
  • userId : clé étrangère, pointant vers l'ID utilisateur de la table user.

3. Table de réponse (commentaires) :
Champ :

  • id : clé primaire, auto-incrémentation, identifiant de réponse.
  • postId : clé étrangère, pointant vers l'ID de publication de la table des publications.
  • contenu : Répondez au contenu.
  • userId : clé étrangère, pointant vers l'ID utilisateur de la table user.

3. Développement back-end
1. Créez une interface (register.php) pour traiter l'enregistrement des utilisateurs.

header('Content-Type: application/json');
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Obtenez le devant -fin de transmission Entrez le nom d'utilisateur et le mot de passe
$username = $_POST['username'];
$password = $_POST['password'];

// Vérifiez si le nom d'utilisateur existe déjà
$query = "SELECT * FROM utilisateurs OÙ nom d'utilisateur = '$username'";
$result = mysqli_query($conn, $query);

if (mysqli_num_rows($result) > 0) {

// 用户名已存在
$response = [
    'status' => 'error',
    'message' => 'Username already exists'
];

} else {

// 插入用户数据
$insertQuery = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
mysqli_query($conn, $insertQuery);
$response = [
    'status' => 'success',
    'message' => 'Registration successful'
];

}

echo json_encode ($ réponse);
?>

2. Créez une interface pour publier des articles (create_post.php).

header('Content-Type: application/json');
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Obtenez le devant -fin de transmission Titre du message entrant, contenu et identifiant d'utilisateur
$title = $_POST['title'];
$content = $_POST['content'];
$userId = $_POST['userId'];

/ / Insérer les données de la publication
$insertQuery = "INSERT INTO posts (title, content, userId) VALUES ($'title', '$content', '$userId')";
mysqli_query($conn, $insertQuery);

$response = [

'status' => 'success',
'message' => 'Post created successfully'

];

echo json_encode($response);
?>

3. Créez une interface pour répondre (create_comment.php).

header('Content-Type: application/json');
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Obtenez le devant -fin de la transmission Contenu de la réponse entrante, identifiant de publication et identifiant d'utilisateur
$content = $_POST['content'];
$postId = $_POST['postId'];
$userId = $_POST['userId'];

// Insérer les données de réponse
$insertQuery = "INSERT INTO comments (content, postId, userId) VALUES ($'$content', '$postId', '$userId')";
mysqli_query($conn, $insertQuery);

$ réponse = [

'status' => 'success',
'message' => 'Comment created successfully'

];

echo json_encode($response);
?>

4. Développement front-end
1. ! & Lt;! Doctype html & gt;

& lt;

& lt; tête & gt; gt; l & lt;/html & gt;

2. Page arrière du message (create_comment.html).


<title>论坛注册</title>

<h1>用户注册</h1>
<form id="registerForm">
    <label>用户名:</label>
    <input type="text" name="username" required>
    <br><br>
    <label>密码:</label>
    <input type="password" name="password" required>
    <br><br>
    <input type="submit" value="注册">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        $('#registerForm').submit(function(event) {
            event.preventDefault();

            var data = $(this).serialize();

            $.ajax({
                url: 'register.php',
                type: 'POST',
                data: data,
                success: function(response) {
                    alert(response.message);
                    window.location.href = 'login.html';
                },
                error: function(xhr, status, error) {
                    alert(error);
                }
            });
        });
    });
</script>



Su mmaire :

Cet article explique comment utiliser MySQL et JavaScript pour implémenter une fonction de forum simple, y compris l'enregistrement des utilisateurs, la publication et la réponse, et fournit des exemples de code spécifiques. Les développeurs peuvent apporter les modifications et extensions correspondantes en fonction des besoins réels pour obtenir un système de forum plus complet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn