Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problemi con chat in Php AJAX in internet explorer

    Salve utenti,
    vi posto il codice di una semplicissima chat in php ajax che utilizza un file html al posto di un database mysql (per esempio) per la memorizzazione dei messaggi:

    Codice PHP:
    session_start(); ?> 
    <div id="chatbox">
    <?php if(file_exists("log.html") && filesize("log.html") > 0){ 
    $handle fopen("log.html""r"); 
    $contents fread($handlefilesize("log.html")); 
    fclose($handle); 
    echo 
    $contents; } ?>
    </div>
    <form name="message" action="">
    <input name="usermsg" type="text" id="usermsg" size="63" autocomplete="off" / class="a_11_b_n">
    <input name="submitmsg" type="submit" id="submitmsg" value="Invia" class="a_11_b_n" /> </form>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    <script type="text/javascript">
    // jQuery Document
    $(document).ready(function(){
        //If user submits the form
        $("#submitmsg").click(function(){    
            var clientmsg = $("#usermsg").val();
            $.post("post.php", {text: clientmsg});                
            $("#usermsg").attr("value", "");
            return false;
        });
        
        //Load the file containing the chat log
        function loadLog(){    
            var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
            $.ajax({
                url: "log.html",
                cache: false,
                success: function(html){        
                    $("#chatbox").html(html); //Insert chat log into the #chatbox div                
                    var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
                    if(newscrollHeight > oldscrollHeight){
                        $("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div
                    }                
                  },
            });
        }
        setInterval (loadLog, 1000);    //Reload file every 2.5 seconds
        
    });
    </script>
    Il codice della pagina post.php è semplicemente
    Codice PHP:
    session_start();
    if(isset(
    $_SESSION['nome_U'])){
        
    $text $_POST['text'];    
        
    $fp fopen("log.html"'a');
        
    fwrite($fp"(".date("H:i").") [b]".$_SESSION['nome_U']."[/b]: ".stripslashes(htmlspecialchars($text))."
    "
    );
        
    fclose($fp);

    Ora: la chat funziona benissimo con Chrome ma con internet explorer niente da fare.
    Qualcuno mi spiega come mai per favore?

  2. #2
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    la console degli errori ti dice qualcosa?
    Guybrush Threepwood

  3. #3
    No nessun errore.... in chrome funziona tutto ma in explorer
    niente

  4. #4
    prova a eliminare la virgola nella quart'ultima grafa

  5. #5
    Originariamente inviato da cablos
    prova a eliminare la virgola nella quart'ultima grafa
    Quart ultima grafa di quale foglio??

  6. #6
    Originariamente inviato da cablos
    prova a eliminare la virgola nella quart'ultima grafa
    Il problema era la virgola arrivata li dal nulla
    Grazie mille cablos!

  7. #7
    Utente di HTML.it L'avatar di Davy96
    Registrato dal
    Jun 2012
    Messaggi
    91
    scusa theboss volevo sapere, siccome è semplice come script ,se potevo implementarlo nel mio sito (sempre se mi dai la tua autorizzazione )???e poi volevo sapere se ci dev' essere scritto niente sul file log.html???
    "Il rischio più grande di tutti? Non rischiare."(Anonimo)
    "Le persone possono dubitare di ciò che dici ma crederanno a ciò che fai."
    (Lewis Cass)

  8. #8
    Certo puoi usarlo io l ho trovato in rete...il file di log puo essere vuoto o pieno infatti viene aperto in modalità appen cioè se nn esiste lo crea ma se esiste scrive alla fine

  9. #9
    Utente di HTML.it L'avatar di Davy96
    Registrato dal
    Jun 2012
    Messaggi
    91
    okok...grazie mille
    "Il rischio più grande di tutti? Non rischiare."(Anonimo)
    "Le persone possono dubitare di ciò che dici ma crederanno a ciò che fai."
    (Lewis Cass)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.