Heim > Datenbank > MySQL-Tutorial > So implementieren Sie mit MySQL und JavaScript eine einfache Forumsfunktion

So implementieren Sie mit MySQL und JavaScript eine einfache Forumsfunktion

王林
Freigeben: 2023-09-22 10:21:29
Original
749 Leute haben es durchsucht

So implementieren Sie mit MySQL und JavaScript eine einfache Forumsfunktion

So implementieren Sie mit MySQL und JavaScript eine einfache Forumsfunktion

Einführung:
Als eine der wichtigsten sozialen Plattformen im Internet verfügt das Forum über Funktionen wie Benutzerregistrierung, Posten, Beantworten und Anzeigen von Beiträgen. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und JavaScript eine einfache Forumsfunktion implementieren, und es werden spezifische Codebeispiele bereitgestellt.

1. Vorbereitung
1. Installieren Sie MySQL-Server und -Client und erstellen Sie eine Datenbank.
2. Erstellen Sie einen Webserver wie Apache, Nginx usw.
3. Erstellen Sie eine HTML-Seite als Front-End-Schnittstelle des Forums.

2. Datenbankdesign
Diese Forenfunktion muss Benutzerinformationen, Beitragsinformationen und Antwortinformationen speichern. Wir entwerfen drei Tabellen: Benutzertabelle (Benutzer), Beitragstabelle (Beiträge) und Antworttabelle (Kommentare).

1. Benutzertabelle (Benutzer):
Felder:

  • id: Primärschlüssel, automatische Inkrementierung, Benutzer-ID.
  • Benutzername: Benutzername, eindeutig.
  • Passwort: Passwort.

2. Beitragstabelle (Beiträge):
Felder:

  • ID: Primärschlüssel, automatische Inkrementierung, Beitrags-ID.
  • Titel: Titel des Beitrags.
  • Inhalt: Inhalte posten.
  • userId: Fremdschlüssel, der auf die Benutzer-ID der Benutzertabelle verweist.

3. Antworttabelle (Kommentare):
Feld:

  • ID: Primärschlüssel, automatische Inkrementierung, Antwort-ID.
  • postId: Fremdschlüssel, der auf die Beitrags-ID der Beitragstabelle verweist.
  • Inhalt: Inhalt antworten.
  • userId: Fremdschlüssel, der auf die Benutzer-ID der Benutzertabelle verweist.

3. Backend-Entwicklung
1. Erstellen Sie eine Schnittstelle (register.php) für die Benutzerregistrierung.

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

// Holen Sie sich die Vorderseite -Übertragung beenden Geben Sie den Benutzernamen und das Passwort ein
$username = $_POST['username'];
$password = $_POST['password'];

// Überprüfen Sie, ob der Benutzername bereits existiert
$query = "SELECT * FROM Benutzer WHERE username = '$username'";
$result = mysqli_query($conn, $query);

if (mysqli_num_rows($result) > 0) {

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

} else {

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

}

echo json_encode($ Response);
?>

2. Erstellen Sie eine Schnittstelle zum Veröffentlichen von Beiträgen (create_post.php).

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

// Holen Sie sich die Vorderseite -Endübertragung Titel, Inhalt und Benutzer-ID des eingehenden Beitrags
$title = $_POST['title'];
$content = $_POST['content'];
$userId = $_POST['userId'];

/ / Beitragsdaten einfügen
$insertQuery = "INSERT INTO posts (title, content, userId) VALUES ('$title', '$content', '$userId')";
mysqli_query($conn, $insertQuery);

$response = [

'status' => 'success',
'message' => 'Post created successfully'
Nach dem Login kopieren

];

echo json_encode($response);
?>

3. Erstellen Sie eine Schnittstelle zum Antworten (create_comment.php).

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

// Holen Sie sich die Vorderseite -Endübertragung Eingehender Antwortinhalt, Beitrags-ID und Benutzer-ID
$content = $_POST['content'];
$postId = $_POST['postId'];
$userId = $_POST['userId'];

// Antwortdaten einfügen
$insertQuery = "INSERT INTO comments (content, postId, userId) VALUES ('$content', '$postId', '$userId')";
mysqli_query($conn, $insertQuery);

$ Response = [

'status' => 'success',
'message' => 'Comment created successfully'
Nach dem Login kopieren

];

echo json_encode($response);
?>

4. Registrierungsseite (register.html). ! & lt; Doctype
& lt; gt; l & lt;/html & gt; Zurück-Post-Seite (create_comment.html).



<title>论坛注册</title>
Nach dem Login kopieren


<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo implementieren Sie mit MySQL und JavaScript eine einfache Forumsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage