Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mon chat marche pas sous IE !

mais ok sur firefox, help me ?

    4 avril 2006 à 22:12:13

    Salut all !
    j'ai fait un ptit chat en javascript/php, mais il marche pas sous IE, gni ? les messages s'affichent pas..

    il est composé de 4 fichiers:
    chat.php > c'est la page principale> formulaire et script allant récupérer les derniers messages
    chat_affiche_mess.php > fichier appelé par chat.php et qui affiche les messages contenus dans chat.txt
    chat_post.php > poste un message :-)
    chat.txt > contient les messages

    voici le détail du script:

    chat.php:


    <html><head>
    <script language="JavaScript">
    <!--

    function clear_text2() {
            document.getElementById("texte").value = "";
            document.getElementById("texte").focus();
    }

    var xhr_object = null;
    var xhr_url = 'chat_affiche_mess.php';
    function initialisation() {
            if (window.XMLHttpRequest) {
                    // Objet XmlHttpRequest pour les moteurs GECKO
                    xhr_object = new XMLHttpRequest();   
            } else if (window.ActiveXObject) {
                    // Objet XmlHttpRequest pour Internet Explorer
                    xhr_object = new ActiveXObject('Microsoft.XMLHTTP');   
            } else {
                    // Navigateur non-compatible
                    alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');   
                    return;
            }
    }

    function cbr() {
            // Sur le retour de la requete, on teste son état
            if (xhr_object.readyState == 4) {
                    // On injecte notre retour dans la DIV prevue a cet effet
                    document.getElementById('divResult').innerHTML = xhr_object.responseText;
                    document.getElementById('divResult').scrollTop = document.getElementById('divResult').scrollHeight;
            }
    }

    function req() {
            initialisation();
            // On ouvre la requete vers la page désirée
            xhr_object.open('GET', xhr_url, true);
            // On lui donne le pointeur de fonction de retour
            xhr_object.onreadystatechange = cbr;
            // On envoi la requete
            xhr_object.send(null);
    }

    function Coeur_NMm() {
            req();
            setTimeout("Coeur_NMm()",1500);
    }

    // Lancement du programme
    Coeur_NMm();

    //-->
    </script>
    </head>
    <body>
    <form name="formu" action="chat_post.php" method="post" target="chat_post">
    <div id='divResult' name='divResult' style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 200px"></div>
    <iframe src="" name="chat_post" width="0" height="0" marginwidth="0" marginheight="0" framespacing=0 frameborder=0 border=0></iframe><br>
    <input type="text" name="texte" size="45" maxlength="255" value=""><br>
    <input type="submit" value=" Envoyer " name="chatenvoi">
    </form>
    </body>
    </html>



    chat_affiche_mess.php:

    <?php
    header('Content-type: text/html; charset=iso-8859-1');
    $file = "chat.txt";
    if(file_exists($file))
    {
            $msgs = file($file);
            if(count($msgs)>60)
            {
                    unset($msgs[0]);
                    $msgs2 = implode("",$msgs);
                    $fp = fopen($file,"w");
                    fputs($fp,$msgs2);
                    fclose($fp);
                    $msgs = file($file);
            }
            for($i=0;$i<=count($msgs)-1;$i+=1)
            {
                    $msg = explode(" ",$msgs[$i]);
                    $pseudo = $msg[0];
                    unset($msg[0]);
                    $msg = trim(implode(" ",$msg));
                    $msg = stripslashes($msg);

                    echo "<font size='2' face='verdana'><b>$pseudo:</b> $msg</font><br>";
            }
    }
    ?>




    chat_post.php: (la variable $nom est généré par des sessions, mais j'ai restreint le code).

    <?php
    $file = "chat.txt";

    if(isset($_POST['texte']) && $_POST['texte']!="")
    {
            $texte = $_POST['texte'];
            $texte = htmlspecialchars(str_replace(Array("\n","\r"),Array(" "," "),substr(trim($texte),0,200)));
            $fp = @fopen($file,"a");
            if($fp)
            {
                    fputs($fp,"$nom $texte\r\n");
                    fclose($fp);
            }
            else
            {
                    echo "Impossible d'envoyer le message";
            }
    }
    ?>
    <script type="text/javascript">
    <!--
    parent.clear_text2();
    parent.Coeur_NMm();
    //-->
    </script>



    Voila, piouf, je serai reconnaissant à la personne qui m'aidera ;) , je pense que l'erreur se situe surtout dans chat.php, mais j'ai préféré mettre l'ensemble du scipt :)

    merci d'avance !

    ps: j'ai posté dans ce forum car je pense que c'est une erreur javascript.
    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2006 à 13:22:59

      Il y a une section PHP sur ce forum spécialement concue pour les problèmes avec le PHP, incroyable non ? :)
      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2006 à 15:19:11

        Mon problème ne vient pas des quelques lignes de php présent, mais bien du javascript de chat.php, incroyable non ?

        :p
        • Partager sur Facebook
        • Partager sur Twitter

        Mon chat marche pas sous IE !

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown