Commentaires non affichés apres envoi

psykotik -  
graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Cet apres midi grace a un memebre de ce forum ( druidou59 pour pas le citer ^^ ) j ai reussi a installer mon script mini-chat sur ma page internet donc tout est bien affiché le mini chat a exactement l aspect que je voulais mais nouveau probleme quand on poste un commentaire .... ben rien ne se passe il n est affiché nul part quelqu un aurai une idée sur le probleme avec le script ?
merci
Configuration: Windows XP
Firefox 3.0.14

10 réponses

  1. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    Oui
    0
  2. psykotik
     
    lol d accord merci mais plus exactement ? parce que j avou que la ca m avance pas enormement
    0
  3. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    Ben ta question non plus sans le code, mais j' attendais que tu fasses simplement la remarque.
    0
  4. psykotik
     
    tu n'as pas tort . voila le code :
    <?php
    include('./includes/includes.inc.php');
    
    define('SUP_ENTREE', 1); // Remplacé 0 par 1 si vous voulez supprimer les N dernières entrées
    $n = 50; // Nombres d'entrées à supprimées lorsque le nombre d'entrées max est atteint
    $nb_max = 150; // Nombre d'entrées max
    $longueur_message = 120; // La taille du message (caractères maximum)
    $nmpp = 8; // Nombres de messages par pages
    
    $sql_ret = "SELECT COUNT(*) AS nb_post FROM minichat";
    $retour = mysql_query($sql_ret, $link) or die(mysql_error());
    $data_Post = mysql_fetch_array($retour);
    $totalPost = $data_Post['nb_post'];
    $nombreDePages = ceil($totalPost / $nmpp);
    
    if (isset($_POST['pseudo'], $_POST['message'])) // Si les variables existent
    {
      if (!empty($_POST['pseudo']) && !empty($_POST['message'])) // Si on a quelque chose à enregistrer
      {
        if (empty($_POST['info'])) // le $_POST['info'] est une ruse pour les spammeurs
        {
          if (strlen($_POST['message']) < $longueur_message) // Si le message ne dépasse pas la taille autorisée
          {
            // On utilise les fonctions PHP mysql_real_escape_string pour la sécurité
            $pseudo = trim(mysql_real_escape_string(utf8_decode($_POST['pseudo'])));
            $message = mysql_real_escape_string(utf8_decode($_POST['message']));
            $time = time();
     
            // Ensuite on enregistre le message
            $sql = "INSERT INTO minichat VALUES('', '".$pseudo."', '".$message."', '".$time."')";
            $insert = mysql_query($sql, $link) or die(mysql_error());
    
            if($insert == TRUE)
            {
              header('Location: minichat.php');
            }
            else
            {
              header('Location: minichat.php?erreur=send');
            }
            
            mysql_free_result($insert);
          }
          else
          {
            header('Location: minichat.php?erreur=solong');
          }
        }
        else
        {
          header('Location: minichat.php?erreur=spam');
        }
      }
      else
      {
        header('Location: minichat.php?erreur=vide');
      }
    }
    else
    { 
    ?>
    <!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>
            <?php echo utf8_encode('<title>Mini-chat (Démo)</title>'); ?>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            
            <script type="text/javascript">
            function addText(instext) {
            var mess = document.mess.message;
            //IE support
            if (document.selection) {
                mess.focus();
                sel = document.selection.createRange();
                sel.text = instext;
                document.guestbook.focus();
            }
            //MOZILLA/NETSCAPE support
            else if (mess.selectionStart || mess.selectionStart == "0") {
                var startPos = mess.selectionStart;
                var endPos = mess.selectionEnd;
                var chaine = mess.value;
    
                mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
    
                mess.selectionStart = startPos + instext.length;
                mess.selectionEnd = endPos + instext.length;
                mess.focus();
            } else {
                mess.value += instext;
                mess.focus();
                }
            }
            </script>
            
            <style type="text/css">
            body
            {
              width: 86%;
              margin-top: 16px;
              margin-right: 64px;
              margin-bottom: 32px;
              margin-left: 64px;
              background-color: grey;
            }
        
            .chat
            {
              width: 55%;
              margin-left: 32px;
              margin-top: 16px;
              font-size: 11px;
              font-family: Verdana, Arial, "Times New Roman", Sans-Serif;
              text-align: left;
              border-style: dashed;
              border-width: 1px;
              padding: 10px;
              background-color: grey;
            }
        
            .erreur
            {
              font-family: Verdana, Arial, "Times New Roman", Sans-Serif;
              font-size: 13px;
              text-align: left;
              color: red;
            }
        
            h3
            {
              text-align: center;
            }
            
            #smileys 
            {
              margin: 2px;
            }
            
            .souligne 
            {
              text-decoration: underline;
            }
            
            .input 
            {
              display: none;
            }
            </style>
        </head>
        <body>
       
    <?php
    }
    
    // On supprime les entrées supérieur à N Si SUP_ENTREE est défini à 1
    if(SUP_ENTREE == 1)
    {
      $sql_d = "SELECT COUNT(*) AS nb_entrees FROM minichat";
      $res_d = mysql_query($sql_d, $link) or die(mysql_error()); 
      $data = mysql_fetch_array($res_d);
    
      if ($data['nb_entrees'] > $nb_max)
      {
    		$sql_d2 = "DELETE FROM minichat ORDER BY id LIMIT ".$n;
    		$res_d2 = mysql_query($sql_d2, $link)or die(mysql_error());
    		mysql_free_result($res_d2); 
      }
    }
    
    $url = trim(strip_tags($_SERVER['REQUEST_URI']));
    $url = ereg_replace('/', ' ', $url);
    $uri = explode('=', $url);
    //$uri_final = explode('.', $uri[2]);
    $p = $uri_final[1];
    
    if (isset($_GET['p']) && !empty($_GET['p']) && intval($p) <= intval($nombreDePages))
    {
    	$page = intval($_GET['p']);  
    }
    else 
    {
      $page = 1; 
    }
    
    $ppaa = ($page - 1) * intval($nmpp);
    $ppaa = mysql_real_escape_string($ppaa);
    
    // Maintenant on doit récupérer les N dernières entrées de la table
    // On utilise la requête suivante pour récupérer les N derniers messages :
    
    $sql_rep = "SELECT pseudo, message, time FROM minichat ORDER BY time DESC LIMIT " . $ppaa . ", " . $nmpp;
    $reponse = mysql_query($sql_rep, $link) or die(mysql_error());
    
    echo utf8_encode('<div class="chat"><h3>Bienvenue sur le MiniChat (Démo)</h3>');
    
    if(mysql_num_rows($reponse) > 0)
    {
    
      // Gestion des erreurs
      if(isset($_GET['erreur']) && $_GET['erreur'] == 'vide')
      {
        echo utf8_encode('<p class="erreur">Un ou plusieurs champs sont restés vides.</p>');
      }
    
      if(isset($_GET['erreur']) && $_GET['erreur'] == 'send')
      {
        echo utf8_encode('<p class="erreur">Une erreur est survenue lors de l\'envoi du message.</p>');
      }
    
      if(isset($_GET['erreur']) && $_GET['erreur'] == 'solong')
      {
        echo utf8_encode('<p class="erreur">Le message dépasse la taille autorisée de '.$longueur_message.' caractères</p>');
      }
      
      if(isset($_GET['erreur']) && $_GET['erreur'] == 'spam')
      {
        echo utf8_encode('<p class="erreur">Les spammeurs n\'ont rien à faire ici.</p>');
      }
    
      // Puis on fait une boucle pour afficher tous les résultats :
      while ($donnees = mysql_fetch_array($reponse))
      {
        echo utf8_encode('<b>'.$donnees['pseudo'].'</b> a écrit le <span style="color:green;font-size:10px;font-style:italic;">'.date('d/m/Y à H\hi', $donnees['time']).'</span> : <br/>'.stripslashes(controle($donnees['message'])));
        echo '<br/><br/>';
      }
    
    // Fin de la boucle, le script est terminé !
    }
    else
    {
      echo utf8_encode('<p class="erreur">Il n\'y a encore aucun message d\'envoyé dans le minichat.</p>');
    }
    
    mysql_free_result($reponse);
    
    $i = intval($i);
    echo '<p>Page : ';
    echo get_list_page($page, $nombreDePages, './minichat.php');
    
    ?> 
    <h5>Postez un message:</h5>
    <form method="post" action="minichat.php" name="mess">
    <div id="smileys">
      <a onclick="addText(' :O ');return(false)"><img src="./images/1.gif" border="0" alt="" /></a>
      <a onclick="addText(' ^^ ');return(false)"><img src="./images/2.gif" border="0" alt="" /></a>
      <a onclick="addText(' lol ');return(false)"><img src="./images/3.gif" border="0" alt="" /></a>
      <a onclick="addText(' o_O ');return(false)"><img src="./images/4.gif" border="0" alt="" /></a>
      <a onclick="addText(' ;) ');return(false)"><img src="./images/5.gif" border="0" alt="" /></a>
      <a onclick="addText(' :p ');return(false)"><img src="./images/6.gif" border="0" alt="" /></a>
      <a onclick="addText(' :( ');return(false)"><img src="./images/23.gif" border="0" alt="" /></a>
      <a onclick="addText(' O_O ');return(false)"><img src="./images/19.gif" border="0" alt="" /></a>
      <a href="#" onclick="addText('[b]/b');return(false)"><b style="text-decoration:none;">G</b></a>
      <a href="#" onclick="addText('[i]/i');return(false)"><i style="text-decoration:none;">i</i></a>
      <a href="#" onclick="addText('[s]/s');return(false)"><u style="text-decoration:none;">s</u></a>
    </div>
    
    <table border="0" cellpadding="1" cellspacing="1">
    <tr>
    <td>Pseudo :</td> <td><input type="text" name="pseudo" size="20" maxlength="20" /></td></tr>
    <tr>
    <td>Message :</td> <td><textarea name="message" cols="50" rows="7" ></textarea></td></tr>
    <tr><td><input class="input" type="text" name="info" /></td></tr>
    <tr>
    <td colspan="3" align="center"><input type="submit" value="Envoyer" /></td></tr>
    
    </table>
    <a href="javascript:window.document.mess.submit()"></a>
    </form></div>
     
    </body>
    </html>
    
    <?php
    // On se déconnecte de MySQL
    mysql_close($link);
    ?>
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    pffff t' es dur la, met juste le code concerné pas tout ton site!
    0
  7. psykotik
     
    ben c'est juste le script du mini chat ca et l'erreur est là dedans a mon avis mais aucune idées d'où elle est ...
    0
  8. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    Mais copie et montre nous l' erreur!!!!!!!!!
    0
  9. psykotik
     
    comment tu veux que je copie quelque chose qui devrai apparaitre mais ne le fais pas ... au mieux je peux te faire voir le resultat en t envoyant sur le site et mettre un commentaire dans le minichat tu verra ce qui ce produit .... rien et l erreur si je savait où elle etait dans le code j aurai pas besoin de demander de l'aide ^^
    0
  10. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Est-ce que les données sont enregistrées dans la base de données ?
    Pour vérifier → PhpMyAdmin ou une requête pour compter le nombre d'entrées.
    0
  11. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    Arf ca doit etre la fatigue, j' aurai juré que tu m' avais parlé d' une erreur, mille excuses!
    0