Tchat

Ce topic a été résolu
Foxxen

Foxxen Le 26 avril 2016 à 18:16 (Édité le 25 janvier 2019 à 17:50)

Hey bonjour ! Je suis en train de créer un tchat avec des petites commandes. Maintenant le problème c'est que j'utilise bootstrap pour afficher une fenêtre modale. Et vu que mon tchat s'actualise, quand j'ouvre une fenêtre modale, elle disparait quand le tchat s’actualise (tuto de PrimFx), mais le fond reste gris et on ne peut plus rien faire.

Pour tester ce que je vous dit : http://foxxen-krement-atomic.esy.es/chatminediversity/index.php

Il faut se login avec le pseudo : test
et le mot de passe est : 123

Voila, si jamais je vous mes mon code (attention c'est très désordonner et pas du tout optimiser, je le ferait plus tard)

Page index.php donc le tchat
<?php
session_start();

$bdd = new PDO('mysql:host=127.0.0.1;dbname=chat', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);

        $req3 = $bdd->query('SELECT * FROM chatminediversity ORDER BY id DESC');
        ?>

        <h2>Tchat</h2>
        <div id="msgchat">
        <?php
        while($result2 = $req3->fetch()) {
        ?>
        <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
        <?php if(isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 2 OR isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 3){ ?>
                <a href="#" type="button" class="linkmodal" data-toggle="modal" data-target="#<?php echo $result2->id; ?>">?</a><?php } ?>Pseudo : <?= $result2->pseudo ?> <br>
                Message :<?= $result2->message ?><br>
                <i><h6>Le <?= $result2->datepost ?></h6></i>

        <div class="modal fade" id="<?php echo $result2->id; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                          <div class="modal-dialog" role="document">
                            <div class="modal-content">
                              <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" onclick="modalboxhide1()" aria-label="Close"><span aria-hidden="true">×</span></button>
                                <script type="text/javascript"> function modalboxshow1(){document.getElementById('<?php echo $result2->id; ?>').setAttribute("class","modal fade"); document.getElementById('<?php echo $result2->id; ?>').removeAttribute("style"); }</script>
                                <h4 class="modal-title" id="myModalLabel">Actions Admin</h4>
                              </div>
                              <div class="modal-body">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->id; ?>" name="suppmsgid">
                                    <center><button type="submit" name="suppmsg" class="buttonmodal">Supprimer le message</button></center>
                                </form>
                                <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->pseudo; ?>" name="banuserip">
                                    <center><button type="submit" name="banuser" class="buttonmodal">Bannir l'utilisateur</button></center>
                                </form><br><br>
                              </div>
                            </div>
                          </div>
                        </div>
        <?php
        }
        ?>
        </div>
          <script type="text/javascript">
         setInterval('load_message()', 2000);
         function load_message(){
             $('#msgchat').load('load_message.php');
         }
        </script>
Page load_message.php

<?php
session_start();
$bdd = new PDO('mysql:host=mysql.hostinger.fr;dbname=u216436651_foxxe', 'u216436651_foxxe', 'pils76');
//$bdd = new PDO('mysql:host=127.0.0.1;dbname=chat', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$req3 = $bdd->query('SELECT * FROM chatminediversity ORDER BY id DESC');
        while($result2 = $req3->fetch()) {
        ?>
        <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
        <?php if(isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 2 OR isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 3){ ?>
                <a href="#" type="button" class="linkmodal" data-toggle="modal" data-target="#<?php echo $result2->id; ?>">?</a><?php } ?>Pseudo : <?= $result2->pseudo ?> <br>
                Message :<?= $result2->message ?><br>
                <i><h6>Le <?= $result2->datepost ?></h6></i>

        <div class="modal fade" id="<?php echo $result2->id; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                          <div class="modal-dialog" role="document">
                            <div class="modal-content">
                              <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" onclick="modalboxhide1()" aria-label="Close"><span aria-hidden="true">×</span></button>
                                <script type="text/javascript"> function modalboxshow1(){document.getElementById('<?php echo $result2->id; ?>').setAttribute("class","modal fade"); document.getElementById('<?php echo $result2->id; ?>').removeAttribute("style"); }</script>
                                <h4 class="modal-title" id="myModalLabel">Actions Admin</h4>
                              </div>
                              <div class="modal-body">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->id; ?>" name="suppmsgid">
                                    <center><button type="submit" name="suppmsg" class="buttonmodal">Supprimer le message</button></center>
                                </form>
                                <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->pseudo; ?>" name="banuserip">
                                    <center><button type="submit" name="banuser" class="buttonmodal">Bannir l'utilisateur</button></center>
                                </form><br><br>
                              </div>
                            </div>
                          </div>
                        </div>
        <?php
        }
        ?>

Voila, il y à beaucoup de lignes, mais merci à ceux qui m'aideront 😄 Merci d'avance pour votre réponse
Wistaro

Wistaro Le 26 avril 2016 à 18:33

J'ai testé ton site et je n'ai pas eu de problème... Je suis sur mobile aussi... 
Foxxen

Foxxen Le 26 avril 2016 à 20:42

Ah ok, mais à tu appuyer sur la petite flèche à côter du pseudo d'une personne ?
 Car oui j'ai oublier de le préciser
Paolacci

Paolacci Le 26 avril 2016 à 21:15

Je pense que tu ne dois pas mettre la fonction Admin dans load_message. Pas besoin de rafraîchir la fonction Admin. 
Sinon envoie mon ton skype que je t'aide si tu le souhaites. 
Foxxen

Foxxen Le 26 avril 2016 à 22:02

Mon skype : pils1705, voila, bon je ne pourrait t'accepter que demain
Paolacci

Paolacci Le 29 avril 2016 à 19:04

Je tes ajouté ! 😀 
Foxxen

Foxxen Le 30 avril 2016 à 09:10

salut, bah j'ai pas reçu ta demande
Paolacci

Paolacci Le 30 avril 2016 à 10:16

Mon skype: benlobby
Foxxen

Foxxen Le 30 avril 2016 à 12:04

C'est bon je t'ai accepter la demande à du mettre un peu de temps à arriver
Foxxen

Foxxen Le 30 avril 2016 à 21:43 (Édité le 30 avril 2016 à 21:47)

Bon, j'ai résolu mon problème de base, mais celui-ci en à engendrer un autre. Maintenant mes message s'affichent en double, car dans le load_message.php je doit fermer le while, alors que dans le fichier de base le while se ferme après l'affichage de la popup/modal

Donc j'ai essayer ce code

<div id="msgchat">
<?php
        while($result2 = $req3->fetch()) {
        ?>
        <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
        <?php if(isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 2 OR isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 3){ ?>
                <a href="#" type="button" class="linkmodal" data-toggle="modal" data-target="#<?php echo $result2->id; ?>">?</a><?php } ?>Pseudo : <?= $result2->pseudo ?> <br>
                Message :<?= $result2->message ?><br>
                <i><h6>Le <?= $result2->datepost ?></h6></i>
         <?php
           }
          ?>
        </div>
         <?php
           while($result2 = $req3->fetch()) {
        ?>
        <div class="modal fade" id="<?php echo $result2->id; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                          <div class="modal-dialog" role="document">
                            <div class="modal-content">
                              <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" onclick="modalboxhide1()" aria-label="Close"><span aria-hidden="true">×</span></button>
                                <h4 class="modal-title" id="myModalLabel">Actions Admin</h4>
                              </div>
                              <div class="modal-body">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->id; ?>" name="suppmsgid">
                                    <center><button type="submit" name="suppmsg" class="buttonmodal">Supprimer le message</button></center>
                                </form>
                                <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->pseudo; ?>" name="banuserip">
                                    <center><button type="submit" name="banuser" class="buttonmodal">Bannir l'utilisateur</button></center>
                                </form><br><br>
                              </div>
                            </div>
                          </div>
                        </div>
                <?php
                    }
                    ?>
Au lieu de

<div id="msgchat">
<?php
        while($result2 = $req3->fetch()) {
        ?>
        <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
        <?php if(isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 2 OR isset($_SESSION['auth']) AND $_SESSION['auth']->rang == 3){ ?>
                <a href="#" type="button" class="linkmodal" data-toggle="modal" data-target="#<?php echo $result2->id; ?>">?</a><?php } ?>Pseudo : <?= $result2->pseudo ?> <br>
                Message :<?= $result2->message ?><br>
                <i><h6>Le <?= $result2->datepost ?></h6></i>

//Changements ici, je suis obliger d'avoir le while pour la popup, vu
qu'elle utilise l'id du message et le pseudo de celui qui l'a poster

        </div>
        <div class="modal fade" id="<?php echo $result2->id; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                          <div class="modal-dialog" role="document">
                            <div class="modal-content">
                              <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" onclick="modalboxhide1()" aria-label="Close"><span aria-hidden="true">×</span></button>
                                <h4 class="modal-title" id="myModalLabel">Actions Admin</h4>
                              </div>
                              <div class="modal-body">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->id; ?>" name="suppmsgid">
                                    <center><button type="submit" name="suppmsg" class="buttonmodal">Supprimer le message</button></center>
                                </form>
                                <hr style="color:lightgray; background-color:lightgray; height:0.5px;">
                                <form method="POST">
                                    <input type="hidden" value="<?php echo $result2->pseudo; ?>" name="banuserip">
                                    <center><button type="submit" name="banuser" class="buttonmodal">Bannir l'utilisateur</button></center>
                                </form><br><br>
                              </div>
                            </div>
                          </div>
                        </div>
                <?php
                    }
                    ?>
Mais dans ce cas, la popup/modal ne s'ouvre plus, mais les messages ne s'affichent pas en double

Voila, quelqu'un aurait une idée ?? Merci
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte