joubert Posté 25 Février 2009 Posté 25 Février 2009 (modifié) bonjour, voila en fait je suis tout juste en train d'apprendre le php et la je suis en train de réaliser un script mais j'essaye de l'améliorer pour que les messages ne se postent pas en double mais ça ne marche pas donc voila je vous mets le code php du départ et vous m'expliquez comment le modifier pour que les messages postés ne puissent pas se poster en double voila le code : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Mini-chat</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <style type="text/css"> form { text-align:center; } </style> <body><?phpif (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent{ if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer { // D'abord, on se connecte à MySQL mysql_connect("localhost", "sdz", "mot_de_passe"); mysql_select_db("coursphp"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // Ensuite on enregistre le message mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')"); // On se déconnecte de MySQL mysql_close(); }}// Que l'on ait enregistré des données ou pas...// On affiche le formulaire puis les 10 derniers messages// Tout d'abord le formulaire :?><form action="minichat.php" method="post"><p>Pseudo : <input type="text" name="pseudo" /><br />Message : <input type="text" name="message" /><br /><input type="submit" value="Envoyer" /></p></form><?php// Maintenant on doit récupérer les 10 dernières entrées de la table// On se connecte d'abord à MySQL :mysql_connect("localhost", "sdz", "mot_de_passe");mysql_select_db("coursphp");// On utilise la requête suivante pour récupérer les 10 derniers messages :$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");// On se déconnecte de MySQLmysql_close();// Puis on fait une boucle pour afficher tous les résultats :while ($donnees = mysql_fetch_array($reponse) ){?><p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p><?php}// Fin de la boucle, le script est terminé !?> </body></html> Modifié 26 Février 2009 par captain_torche
Sanguo Posté 26 Février 2009 Posté 26 Février 2009 J'utilise simplement la fonction header('Location: mapage.com') après l'écriture dans la base.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant