ndkorn Posté(e) le 6 septembre 2006 Signaler Posté(e) le 6 septembre 2006 <?php if (isset ($_POST['pseudo']) AND isset($_POST['message']))//on verifie si les variable existent et si oui on regarde si il n'y a pas de html (htmlentities) { if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)//on regarde si il y a quelque chose à enregistrer { mysql_connect("localhost", "root", ""); mysql_select_db("coursphp"); $pseudo = htmlentities($_POST['pseudo']); $message = htmlentities($_POST['message']); mysql_query ("INSERT INTO chat VALUES ('', '$pseudo', '$message')"); mysql_close(); } } ?> Pseudo : Message : Archives : <?php mysql_connect("localhost","root",""); mysql_select_db("coursphp"); $reponse = mysql_query ("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10");//on affiche la table chat par ordre décroissant et en montrant que les dix première réponse mysql_close(); WHILE ($donne = mysql_fetch_array($reponse)) { echo $donne['pseudo']; ?> a écrit : <?php echo $donne['message'];?> <?php ; } ?>
caouecs Posté(e) le 6 septembre 2006 Signaler Posté(e) le 6 septembre 2006 les mysql_close ne servent à rien déjà, tu fais deux connexions, alors qu'une suffit ensuite quand tu envoies les requetes dans ton PHPMyAdmin par exemple, ça te renvoie quelque chose ?
kokotchy Posté(e) le 6 septembre 2006 Signaler Posté(e) le 6 septembre 2006 Quand tu fais une requete sql, rajoute un or die (mysql_error()); quand tu as un problème. Ca t'affiche l'erreur. $reponse = mysql_query ("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10" ) or die(mysql_error());
ChandlerBing82 Posté(e) le 7 septembre 2006 Signaler Posté(e) le 7 septembre 2006 mysql_query ("INSERT INTO chat VALUES ('', '$pseudo', '$message')" ); sauf erreur de ma part, j'aurais mis : mysql_query ("INSERT INTO chat('pseudo', 'message') VALUES (". '$pseudo'.", ".'$message'.")" ); A supposer que pseudo et message sont des entrées dans ta base de données
ndkorn Posté(e) le 7 septembre 2006 Auteur Signaler Posté(e) le 7 septembre 2006 les mysql_close ne servent à rien déjà, tu fais deux connexions, alors qu'une suffitensuite quand tu envoies les requetes dans ton PHPMyAdmin par exemple, ça te renvoie quelque chose ?[/quotemsg] Quand j'écrit quelque chose dans les champs pseudo et message je fais envoyer et logiquement d'après le script le message envoyé doit s'afficher après le mot "archive", mais à la place php me remets la page comme si je n'avais rien envoyé et il n'y a pas de message d'erreur. mysql_query ("INSERT INTO chat VALUES ('', '$pseudo', '$message')" ); sauf erreur de ma part, j'aurais mis : mysql_query ("INSERT INTO chat('id', 'pseudo', 'message') VALUES (". '$pseudo'.", ".'$message'.")" ); A supposer que pseudo et message sont des entrées dans ta base de données[/quotemsg] On peut faire comme tu le fais, mets ma façon est aussi valable (d'après le site du zéro).
kokotchy Posté(e) le 8 septembre 2006 Signaler Posté(e) le 8 septembre 2006 Tu as vu mon message avec les mysql_error ?
Simcamb Posté(e) le 8 septembre 2006 Signaler Posté(e) le 8 septembre 2006 Quand j'écrit quelque chose dans les champs pseudo et message je fais envoyer et logiquement d'après le script le message envoyé doit s'afficher après le mot "archive", mais à la place php me remets la page comme si je n'avais rien envoyé et il n'y a pas de message d'erreur.On peut faire comme tu le fais, mets ma façon est aussi valable (d'après le site du zéro).[/quotemsg] si tu mets mysql_query("INSERT INTO chat (id, pseudo, message) (3 champs) puis VALUES ('$pseudo', '$message') (2 valeurs), ça va merder direct. La syntaxe que j'utilise (la plus légère, et qui fonctionne) : [fixed]mysql_query("INSERT INTO chat (pseudo, message) VALUES ('$pseudo', '$message')") or die(mysql_error());[/fixed] c'est suffisant, puisque le id est en auto-increment (normalement), et qu'il n'a donc pas besoin d'être mentionné dans l'insert
ndkorn Posté(e) le 8 septembre 2006 Auteur Signaler Posté(e) le 8 septembre 2006 Tu as vu mon message avec les mysql_error ?[/quotemsg]Oui et après avoir rajouter le "or die" il ne m'affiche pas de message d'erreur non plus. Sinon, moi je préfère faire comme je fais plus haut pour la requête mysql et de toute façon que ça soit ma façon ou ta façon de faire, ça ne marche toujours pas chez moi.
ChandlerBing82 Posté(e) le 8 septembre 2006 Signaler Posté(e) le 8 septembre 2006 t'es sur que ton erreur vient bien de ta requete au moins?
ndkorn Posté(e) le 8 septembre 2006 Auteur Signaler Posté(e) le 8 septembre 2006 Je ne vois aucun message d'erreur sur la page générée. Est-ce que peut-être l'emplacement des fichiers à une importance? Par exemple, est-ce que les fichiers contenant du sql devraient se mettre dans un répertoire spécifique?
ChandlerBing82 Posté(e) le 8 septembre 2006 Signaler Posté(e) le 8 septembre 2006 les fichiers de base de données tu n'a pas a t'en préoccuper. Il n'y aura pas de message d'erreur si tu ne le demandes pas au passage
kokotchy Posté(e) le 8 septembre 2006 Signaler Posté(e) le 8 septembre 2006 C'est peut-être à un autre niveau que le problème se passe. Fait un echo mysql_error(); tout en bas de ton script. S'il affiche une erreur, essaie de la corrigée. Sinon, c'est dans les conditions de ton script qu'il y a une erreur.
Jooreixo Posté(e) le 9 septembre 2006 Signaler Posté(e) le 9 septembre 2006 mysql_query("INSERT INTO chat VALUES ('', '" . $pseudo . "', '" . $message . '")" ); Souvent quand ça fait rien sans erreur c'est que ça merde au niveau des ' et "
ndkorn Posté(e) le 10 septembre 2006 Auteur Signaler Posté(e) le 10 septembre 2006 Ca ne marche toujours pas. :/ Le echo mysql_error() n'a rien donné et la solution de keats marche pas. Je vais revoir toute mes condition, puis j'édite.
ndkorn Posté(e) le 10 septembre 2006 Auteur Signaler Posté(e) le 10 septembre 2006 Je viens de trouver l'erreur! En faite, elle venais pas du code php, mais du code html. Pseudo : Message : Je ne devais pas mettre "value", mais "name". :sweat: Merci quand même pour votre aide!
Jooreixo Posté(e) le 10 septembre 2006 Signaler Posté(e) le 10 septembre 2006 ah bah oui tout de suite
AzzA Posté(e) le 10 septembre 2006 Signaler Posté(e) le 10 septembre 2006 Au passage, ferme tes balises input comme ça : et non
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.