introduction
Les fonctions de chat en direct sont devenues une partie indispensable des plateformes et applications sociales modernes. Afin de fournir une communication instantanée, les développeurs doivent implémenter cette fonctionnalité grâce à des technologies appropriées. Dans cet article, nous montrerons comment implémenter un système de chat en direct de base à l'aide de PHP. Nous commencerons par la création de la base de données et introduirons progressivement chaque lien de développement.
Étape 1: Créez une table de base de données
Tout d'abord, nous devons concevoir une table de base de données pour stocker les informations de chat. Ce tableau doit au moins contenir des champs tels que l'ID de message, l'ID de l'expéditeur, l'identifiant du récepteur, le contenu du message et l'envoi d'heure. Voici une instruction SQL simple pour créer une table de message:
CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
sender_id INT,
receiver_id INT,
message TEXT,
sent_at DATETIME
);
Étape 2: établir une connexion de base de données
Ensuite, nous devons établir une connexion à la base de données dans PHP. Cela peut être réalisé en utilisant le code suivant:
<?php
$conn = new mysqli('localhost', 'username', 'password', 'database');
if ($conn->connect_error) {
die("Échec de la connexion à la base de données:" . $conn->connect_error);
}
?>
Étape 3: Envoyez un message
Les utilisateurs peuvent soumettre des messages via le formulaire. Après la soumission, les messages seront enregistrés dans la base de données. Voici un exemple de code pour le traitement des messages d'envoi:
<?php
// Obtenez le message et le destinataire à envoyerID
$message = $_POST['message'];
$receiverId = $_POST['receiver_id'];
// Obtenez l'expéditeurID(Peut être obtenu par la session ou la vérification de la connexion)
$senderId = $_SESSION['user_id'];
// Créer une déclaration de préparation
$stmt = $conn->prepare("INSERT INTO messages (sender_id, receiver_id, message, sent_at) VALUES (?, ?, ?, NOW())");
$stmt->bind_param("iis", $senderId, $receiverId, $message);
$stmt->execute();
// Vérifiez si les données sont insérées avec succès
if ($stmt->affected_rows > 0) {
echo "Le message a été envoyé avec succès!";
} else {
echo "Envoi du message Échec!";
}
$stmt->close();
?>
Étape 4: Obtenez le message
Le destinataire doit afficher les nouveaux messages en temps réel. Avec les demandes AJAX, nous pouvons obtenir de nouveaux messages régulièrement sur l'avant. Voici un exemple de code PHP pour obtenir des messages:
<?php
// Obtenez le destinataireID(Peut être obtenu par la session ou la vérification de la connexion)
$receiverId = $_SESSION['user_id'];
// Créer une déclaration de préparation
$stmt = $conn->prepare("SELECT * FROM messages WHERE receiver_id = ? ORDER BY sent_at DESC");
$stmt->bind_param("i", $receiverId);
$stmt->execute();
// Obtenez l'ensemble de résultats
$result = $stmt->get_result();
// Convertir les résultats en jeu associatif
$messages = $result->fetch_all(MYSQLI_ASSOC);
// retourJSONTableau de messages au format
echo json_encode($messages);
$stmt->close();
?>
Étape 5: Affichage frontal
Dans l'avant, faites passer le message via la demande AJAX et affichez-le. Voici un exemple de code JavaScript:
<?php
// utiliserAJAXObtenir un tableau de messages à partir du backend
var xhr = new XMLHttpRequest();
xhr.open("GET", "get_messages.php", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var messages = JSON.parse(xhr.responseText);
// Faire une boucle dans le tableau des messages,et affiché dans la fenêtre de chat
for (var i = 0; i < messages.length; i++) {
var message = messages[i];
// Afficher le contenu du message et les informations de l'expéditeur, etc.
// ...
}
}
};
xhr.send();
?>
en conclusion
Grâce aux étapes ci-dessus, nous avons mis en œuvre avec succès un système de chat en direct de base. Les messages envoyés par l'utilisateur seront enregistrés dans la base de données, tandis que le récepteur peut obtenir de nouveaux messages en temps réel via AJAX et les afficher sur le frontal. J'espère que cet article peut vous aider à mieux comprendre comment utiliser la technologie PHP et AJAX pour créer des fonctions de chat en temps réel.