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
- Coco tchat - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- C'est quoi le site qui remplace coco chat ✓ - Forum Réseaux sociaux
- Excel validation des données liste - Guide
- Tchat adulte - Forum Réseaux sociaux
1 réponse
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
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