Maison > base de données > tutoriel mysql > le corps du texte

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

王林
Libérer: 2023-09-22 10:21:29
original
663 Les gens l'ont consulté

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'
];
Copier après la connexion

} else {

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

}

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'
Copier après la connexion

];

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'
Copier après la connexion

];

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>
Copier après la connexion

<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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal