PHP est un langage de script largement utilisé qui peut interagir avec de nombreuses applications. L'une des applications les plus courantes concerne les systèmes de communication. Dans un tel système, plusieurs utilisateurs communiquent généralement avec un système central. Cet article explique comment implémenter une communication plusieurs-à-un à l'aide de PHP.
La communication plusieurs-à-un fait référence au processus par lequel plusieurs utilisateurs communiquent avec un système central. Dans ce processus, un utilisateur peut envoyer un message au système central et un autre utilisateur peut recevoir ce message. Cette forme de communication est très courante, comme les forums de discussion en ligne, les réseaux sociaux, etc. Supposons que nous ayons une salle de discussion en ligne dans laquelle les utilisateurs peuvent accéder à la salle de discussion et avoir des conversations avec d'autres utilisateurs. Notre tâche est de mettre en œuvre ce salon de discussion en utilisant PHP.
Pour implémenter le salon de discussion, nous avons besoin de deux scripts PHP. Le premier script est une page de saisie qui contient un formulaire dans lequel les utilisateurs peuvent saisir leurs messages. Le deuxième script est une page de sortie qui récupèrera tous les messages de l'utilisateur de la base de données et les affichera à l'écran.
Dans le premier script, nous avons besoin d'un formulaire pour recevoir les entrées de l'utilisateur. Le formulaire contiendra une zone de texte et un bouton de soumission. Une zone de texte permet à l'utilisateur de saisir un message et un bouton de soumission envoie le message au système central. Lorsque l'utilisateur clique sur le bouton Soumettre, nous écrirons le message dans la base de données en utilisant PHP.
Dans le deuxième script, nous avons besoin d'une boucle pour récupérer tous les messages de l'utilisateur de la base de données et les afficher à l'écran. Nous pouvons lire les messages de la base de données en utilisant le code suivant :
$sql = "SELECT * FROM messages"; $result = mysqli_query($link, $sql); while($row = mysqli_fetch_assoc($result)) { echo $row["user"] . ": " . $row["message"]; }
Dans le code ci-dessus, « messages » est le tableau de notre base de données qui contient tous les messages. La boucle lit chaque message de la table et imprime le message à l'écran.
Maintenant, nous avons deux scripts, un pour écrire des messages et un pour lire des messages. Cependant, nous avons également besoin d’un moyen de les combiner. Pour cela, nous pouvons utiliser Ajax.
Ajax est une technologie JavaScript et XML asynchrone utilisée pour obtenir des données du serveur sans recharger la page. En utilisant Ajax, nous pouvons soumettre le formulaire de la page de saisie utilisateur au serveur, puis obtenir le dernier message dans la page de sortie. Voici comment utiliser Ajax :
Tout d'abord, dans la page de saisie, nous avons besoin d'une fonction JavaScript pour soumettre le message au serveur en utilisant Ajax. Veuillez noter que nous utiliserons la bibliothèque jQuery pour simplifier ce processus.
function submitMessage() { var message = $("#messageInput").val(); $.post("submit.php", {message: message}); }
Dans le code ci-dessus, "messageInput" est notre zone de texte qui contient le message saisi par l'utilisateur. La fonction utilise la fonction $.post pour envoyer le message au script "submit.php" sur le serveur.
Ensuite, dans la page de sortie, nous avons besoin d'une autre fonction JavaScript pour obtenir les dernières nouvelles du serveur utilisant Ajax. Voici comment procéder :
function getMessages() { $.get("output.php", function(data) { $("#output").html(data); }); }
Dans le code ci-dessus, "output.php" est notre page de sortie, qui récupère les dernières nouvelles de la base de données. La fonction utilise la fonction $.get pour obtenir les données de la page de sortie et afficher les données à l'écran.
Enfin, nous devons appeler régulièrement la fonction getMessages pour obtenir les derniers messages. Nous pouvons utiliser la fonction timer setInterval de JavaScript pour y parvenir :
setInterval(function() { getMessages(); }, 1000);
Dans le code ci-dessus, la fonction setInterval appelle la fonction getMessages toutes les 1000 millisecondes pour obtenir le dernier message.
Maintenant, nous avons mis en œuvre avec succès un système de communication plusieurs-à-un, un salon de discussion en ligne, utilisant PHP et Ajax. Les utilisateurs peuvent envoyer des messages au système central et les autres utilisateurs peuvent voir ces messages dans la page de sortie. Ce système peut être utilisé dans de nombreuses applications telles que les réseaux sociaux, les forums en ligne, etc.
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!