Un tchat avec une vérification des données
Résolu/Fermé
Utilisateur anonyme
-
Modifié par jordane45 le 2/05/2015 à 17:36
Utilisateur anonyme - 2 mai 2015 à 18:09
Utilisateur anonyme - 2 mai 2015 à 18:09
A voir également:
- Un tchat avec une vérification des données
- Vérification lien - Guide
- Coco tchat - Forum Réseaux sociaux
- Tchat locaux ✓ - Forum Mail
- Tchat adulte - Forum Mail
- Un site de tchat gratuit svp ? ✓ - Forum Mail
1 réponse
jordane45
Messages postés
38200
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2024
4 675
Modifié par jordane45 le 2/05/2015 à 18:21
Modifié par jordane45 le 2/05/2015 à 18:21
Bonjour,
$_POST est envoyé à ton fichier d'insertion en BDD ... il n'est pas présent sur la page de ton formulaire....
A la limite, tu peux :
Soit faire une requête SELECT (en mettant le pseudo du gars dans le WHERE) pour voir s'il a déjà posté un message ...
Soit utiliser les variables de SESSION ( ou les COOKIES) pour "mémoriser" le fait qu'il ait déjà écrit.
Quoi qu'il en soit, je pense que tu devrais mettre TOUT ton code PHP directement dans ta première page au lieu de renvoyer vers minichat_post.php
A ce momment là .. la variable $_POST sera présente sur cette même page.....
Petit conseille, place ton code PHP au début de ta page plutôt qu'au milieu de ton code html...
ça rendra ton code plus simple à maintenir.
par exemple :
Cordialement,
Jordane
$_POST est envoyé à ton fichier d'insertion en BDD ... il n'est pas présent sur la page de ton formulaire....
A la limite, tu peux :
Soit faire une requête SELECT (en mettant le pseudo du gars dans le WHERE) pour voir s'il a déjà posté un message ...
Soit utiliser les variables de SESSION ( ou les COOKIES) pour "mémoriser" le fait qu'il ait déjà écrit.
Quoi qu'il en soit, je pense que tu devrais mettre TOUT ton code PHP directement dans ta première page au lieu de renvoyer vers minichat_post.php
<form action="" method="post">
A ce momment là .. la variable $_POST sera présente sur cette même page.....
Petit conseille, place ton code PHP au début de ta page plutôt qu'au milieu de ton code html...
ça rendra ton code plus simple à maintenir.
par exemple :
<?php //démarrage de la session session_start(); // Connexion à la base de données require_once "connexion_bdd.php"; //récupération des variables $pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : NULL; $message = isset($_POST['message']) ? $_POST['message'] : NULL; // traitement du submit if($pseudo && $message){ // Insertion du message à l'aide d'une requête préparée $sql = "INSERT INTO minichat (pseudo, message) VALUES(?, ?)"; $params = array($pseudo, $message); $req = $bdd->prepare($sql); $req->execute($params); $_SESSION['a_poste'] = true; } //récupération des messages if($_SESSION['a_poste'] == true){ // Récupération des 10 derniers messages $sql = "SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 10"; $req = $bdd->prepare($sql); $req->execute($params); $reponse = $req->fetchAll(); } $reponse->closeCursor(); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <form action="minichat_post.php" method="post"> <p> <label for="pseudo">pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br /> <label for="message">message</label> : <input type="text" name="message" id="message" /><br /> <input type="submit" value="Envoyer" /> </p> </form> <?php if($_SESSION['a_poste'] == true){ // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars) foreach($reponse as $donnees ){ echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>'; } }else{// Sinon, on affiche un message d'erreur echo '<p>Problème </p>'; } ?> </body> </html>
Cordialement,
Jordane
2 mai 2015 à 18:09