• User Attivo

    ho inserito il tuo script nella mia minichat2.php
    cosi..
    [php]
    <html>
    <head>

    <link rel="stylesheet" type="text/css" href="stilechat.css" />
    <script>
    function Chat()
    {
    var xmlHttp;
    try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
    // Internet Explorer
    try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    try
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
    alert("Il tuo browser non supporta la chat!");
    return false;
    }
    }
    }
    xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
    {
    document.getElementById("minichatsito").innerHTML=xmlHttp.responseText;
    setTimeout('Chat()', 3000); //tempo di refresh generale
    }
    }
    xmlHttp.open("GET","/minichat2.php",true);
    xmlHttp.send(null);
    }
    setTimeout('Chat()', 3000);
    </script>
    [/php]che sarebbe la pagina che mostra a video il contenuto..
    Come mai appena apro il sito mi mostra il tutto normalmente mentre dopo 2 o 3 secondi dopo mi mostra subito sotto la pagina dei contenuti della chat una copia del contenuto di ciò che c'è scritto sopra..?
    Poi quando invio il messaggio subito dopo mi mostra una copia del form pe rl invio dei messaggi..?
    Cioè praticamente mostra a video 2 form per l invio dei messaggi e 2 contenuti uguali di ciò che si scrive nella chat...come mai?

    il sito e strutturato in frame..
    [html]

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Prova con frame</title>
    </head>
    <frameset rows="23%,">
    <frame name="intestazione" id="intestazione" frameborder="no" src="intestazione.php" scrolling="no" NOREsize>
    <frameset cols="20%,
    ">

          <frame name="menu" id="menu" frameborder="no" src="minichat2.php" NOREsize>
           <frame name="contenuto" frameborder="no" id="contenuto" src="contenuto.php">
     </frameset>
    

    </frameset>

     <noframes>
     <p>Qui può essere indicato il link a<A href="senzaFrame.html">
              una versione del sito</a> che non utilizzi un layout a frame</p>
     </noframes>
    

    </frameset>
    </html>[/html]Questo influisce?


  • ModSenior

    Ciao,

    Scusa il ritardo allora di come hai la cosa organizzata non ci ho capito molto, quindi ti faccio un esempio veloce dell'implementazione, che non dovresti avere problemi a comprendere, in caso chiedi ;).

    miapagina.php
    [php]
    <html>
    <head>
    </head>
    <body>
    <!-- altro HTML -->
    <div id="msg"></div>
    <script>
    function Chat()
    {
    var xmlHttp;
    try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
    // Internet Explorer
    try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    try
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
    alert("Il tuo browser non supporta la chat!");
    return false;
    }
    }
    }
    xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
    {
    document.getElementById("msg").innerHTML=xmlHttp.responseText;
    setTimeout('Chat()', 3000); //tempo di refresh generale
    }
    }
    xmlHttp.open("GET","/aggiorna.php",true);
    xmlHttp.send(null);
    }
    setTimeout('Chat()', 3000);
    </script>
    <!-- Altro HTML-->
    </body>
    </html>
    [/php]

    Nel file aggiorna.php metti i messaggi da mostrare, ogni 3 secondi verrà fatta una richiesta ad aggiorna.php prenderà l'output e verrà sostituito al contenuto del nostro div.
    Il funzionamento come puoi ben vedere è facile facile. 🙂


  • User Attivo

    continua a non funzionare...quando premo invia mi mostra il contenuto dei messaggi due volte..:bho:


  • User Attivo

    funziona...:)
    alcuen volte però si blocca...sto usando un hosting gratuito altervista per provare...e dovuto a quello sicuramente che non regge le connessioni..cosa m consigli di prendere per non avere problemi di bloccaggio della chat..?Ovviamente su costi contenuti...


  • ModSenior

    Purtroppo non credo ci sia soluzione con costi contenuti.
    Quanta gente dovresti avere li collegata nei momenti di picco?


  • User Attivo

    credo una 50 ina...


  • User Attivo

    Mi sa che non funziona..ho appena provato con un amico..lui scriveva ma nulla..i suoi messaggi li ho letti solo dopo che ho scritto io..e pure avevo provato dal mio pc tenendo le pagine della chat aperte su due finestre differenti del browser..e funzionava!Cioè se scrivevo in una finestra automaticamente nell altra mi mostrava il messaggio...
    Dove cavolo sbaglio..?
    :arrabbiato:


  • ModSenior

    Ciao,

    Dovresti postare le pagine, altrimenti non saprei il motivo. 🙂


  • User Attivo

    Ho risolto..:)


  • ModSenior

    Bene 🙂

    Magari posta la soluzione per chi come te sta cercando di fare la stessa cosa. 😉


  • User Attivo

    nulla di che..il problema era il mio di come avvevo strutturato la minchat...
    avevo sia il form che la lettura dei messaggi nella stessa pagina...e quando la funziona in javascript mi richiamava la pagina da visualizzare mi succedeva che mentre scrivevo nel form passati 3 secondi cancellava il tutto...aggiornvava praticamente...quindi ho la pagina con la script in ajax che sta per conto suo,poi ho creato la sola pagina per la lettura dei messaggi che sarebbe quella che viene richiamata dalla pagina che ha al suo interno lo script ajax..e il form sta su un altra pagina per conto suo..che includo solo per chi è loggato..