3 réponses
jordane45
Messages postés
38244
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 octobre 2024
4 690
14 juin 2017 à 16:30
14 juin 2017 à 16:30
Bonjour,
Tu dis que le souci apparait lors de l'envoie d'un nouveau message ... donc.. quand tu cliques sur le bouton SUBMIT non ??
Ca n'a donc pas de rapport avec "l'actualisation" de ta div message....
Avant de regarder le reste ... sache déjà que le code PHP qui se trouve dans ta div est INUTILE puisque tu fais une actualisation via javascript...
Donc :
Ne devrait être que :
Ensuite .. si tu ne veux pas recharger complètement ta page à chaque fois que tu envoies un message ... il faut modifier ce code:
et .. au lieu de faire un SUBMIT via un FORMULAIRE .... le gérer en AJAX.
NB: Je te conseille également de mettre le code de connexion à ta BDD dans un fichier à part que tu n'auras qu'à inclure dans tes différentes pages au lieu de le copier/coller partout dans ton site !!!
NB² : Il faut également activer la gestion d'erreur PDO:
Voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu dis que le souci apparait lors de l'envoie d'un nouveau message ... donc.. quand tu cliques sur le bouton SUBMIT non ??
Ca n'a donc pas de rapport avec "l'actualisation" de ta div message....
Avant de regarder le reste ... sache déjà que le code PHP qui se trouve dans ta div est INUTILE puisque tu fais une actualisation via javascript...
Donc :
<!-- //////////// PARTIE DU CODE A REACTUALISER //////////////--> <div id="messages" > <?php $allmsg = $bdd->query('SELECT * FROM chat ORDER BY id DESC LIMIT 0, 10'); while($msg = $allmsg->fetch()){ ?> <b><?php echo $msg['pseudo']; ?> : </b> <?php echo $msg['message']; ?> : <br/> <?php } ?> </div>
Ne devrait être que :
<!-- //////////// PARTIE DU CODE A REACTUALISER //////////////--> <div id="messages" > </div>
Ensuite .. si tu ne veux pas recharger complètement ta page à chaque fois que tu envoies un message ... il faut modifier ce code:
<form method="post" action=""> <input type="text" placeholder="PSEUDO" name="pseudo" value="<?php if (isset($pseudo)) { echo $pseudo; } ?>" /><br /><br /> <textarea type="text" placeholder="MESSAGE" name="message"></textarea><br /><br /> <input type="submit" value="Envoyer"> <!--<p><input type="button" onclick='window.location.reload(false)' value="Actualiser"/> <p/>--> </form
et .. au lieu de faire un SUBMIT via un FORMULAIRE .... le gérer en AJAX.
NB: Je te conseille également de mettre le code de connexion à ta BDD dans un fichier à part que tu n'auras qu'à inclure dans tes différentes pages au lieu de le copier/coller partout dans ton site !!!
NB² : Il faut également activer la gestion d'erreur PDO:
Voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
rebonjour
si on enleve le code dans le div, la page du formulaire apparait vide de messages pendant les deux secondes de réactualisation (c'est moche), puis tout apparait actualisé dans une deuxiéme page, c'est ce que ne comprends pas, nulle part dans le code on demande a une deuxieme page de s'ouvrir?
Ce code est brut, si j'arrive a le faire fonctionner correctement les connections a la bdd se feront avec des "include" et un fichier a part.
Aparament sur le tuto ça fonctionne bien.
je suis pas assez fort en ajax pour le rectifier.
si on enleve le code dans le div, la page du formulaire apparait vide de messages pendant les deux secondes de réactualisation (c'est moche), puis tout apparait actualisé dans une deuxiéme page, c'est ce que ne comprends pas, nulle part dans le code on demande a une deuxieme page de s'ouvrir?
Ce code est brut, si j'arrive a le faire fonctionner correctement les connections a la bdd se feront avec des "include" et un fichier a part.
Aparament sur le tuto ça fonctionne bien.
je suis pas assez fort en ajax pour le rectifier.