systeme de messagerie

jesbeer

jesbeer Le 1 février 2018 à 21:45 (Édité le 25 janvier 2019 à 17:54)

 slt a tous , moi c'est jesbeer nguimatio, je suis etudiant au cameroun. bon je suis entrain de creer un systeme de messagerie pour mon site et ca fais ds jour que je suis bloqué sur un point . je me redirige sur ce forum en esperan trouver solution.
pour ce systeme de messagerie j'utilise ajax et jquery, ensuite php. ce systeme ce fait de maniere dynamique,  je veux pouvoir afficher tout les messsage envoyé a l'instant et charger les ancien message.  le probleme se pose au niveau de l'affichage des ancien message  et il y'a une lenteur dans l'affichage. par exemple , si  A envoie un message a B , il faut que B ait envoyé un message a A pour qu'il que B recoive l'ancien message envoyé par A. sur ce pour resoudre ce probleme , je ne sais quoi faire, voici mon code:::

 if (isset($_POST['submit'])) {
        # code...
    
       if (isset($_POST['conversation'] )) {  // variable du message envoyé par ajax
            
             if (isset($_SESSION['id_dest'])) { // id du destinataire
                # code...
                   
                   
                  $get_conversation=htmlspecialchars($_POST['conversation']);
                  $id_dest=$_SESSION['id_dest']; 
                //insertion du message dans ma base
                $envoi=$bdd->prepare("INSERT INTO messagerie values('',?,?,?,NOW())");
                $envoi->execute(array($_SESSION['id_connecter'],$id_dest,$get_conversation));
                   
                   if (!$envoi) {
                      die("Erreur au niveau de l'envoie");
                            }
                        else{
                              
                           ?>
                           <script >
                              
                              $(function () {
                                 $('#conversation').val('')
                              })
                           </script> 
                           <?php
                                   //recuperation de l'id pour afficher un seul message envoye
                           $get_id=$bdd->prepare("SELECT id from messagerie where id_envoie=? and id_destinataire=? and messages=?  ");
                            $get_id->execute(array($_SESSION['id_connecter'],$id_dest,$get_conversation));
                            $get_id=$get_id->fetch();
                            $id=$get_id['id'];
                            echo $id;
                                   //ici le message a enver
                          
                              $affiche=$bdd->prepare('SELECT * from messagerie where id_envoie=? and id_destinataire=? order by date_envoie desc');
                            $affiche->execute(array($_SESSION['id_connecter'],$_SESSION['id_dest']));
                             
                             // reuquete du message a recevoir
                             $get_me=$bdd->prepare('SELECT * from messagerie where id=? and id_destinataire=? and id_envoie=? order by  date_envoie desc');
                                         
                              $get_me->execute(array($id,$_SESSION['id_connecter'],$id_dest));
                             
                                                         //affichage de tout les message dynamiquement
                                                       while($affich=$affiche->fetch() and $me=$get_me->fetch()){
                                     if (isset($affich['messages']) ) {
                                     ?> 
                                                          //les messages recu
                                     <div class="affiche">
                                   
                                    <?= $affich['messages'] ?>
                                    </div><br><br><br><?php 
                                     } ?>
                                                           //ici les message envoyé
                                     <?php if (isset($me['messages']) ) {
                                    ?><div class="me">
                                  <?=$me['message] ?>
                            
                                   </div><br><br><br>
                                    <?php 
                                    ?>
                                     
                                
                             <?php
                         }
                               




jesbeer

jesbeer Le 2 février 2018 à 09:18

svp repondez moi
ThomasT

ThomasT Le 4 février 2018 à 14:01

Bonjour, je n'ai pas très bien compris mais pour ce genre de choses je te conseil nodejs qui est fait pour ça 😋
Profil introuvable

Profil introuvable Le 5 février 2018 à 20:26

tu dois actualiser la page de messagerie, toutes les 2 ou 3secondes, avec javascript
Clouder

Clouder Le 7 février 2018 à 14:58

Salut, 
J'ai fait un petit tuto sur Youtube pour créer un tchat (ou messagerie) : lien
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte