Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Fare un refresh in un div

    Salve a tutti, sono un nuovo giunto in questo forum, e mi sono iscritto perchè ho notato l'utilità essenziale di esso.
    Ora la domanda:
    Ho creato una chat in php e rimandi CSS per le key speciali di inserimento, quindi fin li tuto ok, ma ho un refresh fastidiosissimo fatto con il meta che mi rinfresca tutta la pagina, e quindi ad ogni aggiornamento flesha, forse un paio di occhiali da saldatore non guasterebbero.

    Non ce un modo per aggiornare solo la parte che interessa, ovvero sull'iltimo testo inviato?
    Ho sentito parlare di ajax, e mi sono fatto un idea, ma l'implementazione è difficile, poichè in fatto di programmazione javascript sono solo agli inizzi.

    Mi potreste dare una mano a risolvere questo dilemma?

    Non so magari aggiornando il div?

    Ovvio che sto tirando ad indovinare

  2. #2
    Se proprio non vuoi usare ajax puoi usare un iframe, basta cambiarne la location ogni tot secondi.

    codice html
    codice:
    <iframe id="chat" src="pagina.php"></iframe>
    codice js
    codice:
    setInterval(function() { document.getElementById("chat").location.href=document.getElementById("chat").src; }, 5000)
    5000 sono i millisecondi.


    In ogni caso ti consiglio di usare ajax, non è per niente difficile come pensi: ti trovi una funzione già fatta su Internet e la usi. Pensaci poichè è proprio in casi come questi che ajax andrebbe usato.

  3. #3
    Grazie sei stato veramente gentile a rispondermi così velocemente.
    Hai ragione che dovrei affidarmi ad ajax, ma come dicevo sono solo agli inizi in programmazione jascript, quindi faccio ancora fatica a digerire i termini del linguaggio, già ce ne sono moltissimi in php, che a tenere a mente e un vero caos

    Per ora provo, quello che mi hai passato, poi vedrò di studiarmi le direttive del linguaggio in questione.
    Il fatto e che per ora ho una fretta del diavolo di far qualcosa per quei poveri utenti con gli occhi gonfi :master:

  4. #4
    Ho provato il codice e funziona davvero bene, anche se ho apportato una piccola modifica perche mi diceva che location non aveva oggetto o era nullo.
    ora la chat si rinfresca più dolcemente, anche se con firefox non ha cambiato molto, in pratica solo con explorer funziona bene.
    Ce un modo per farlo funzionare bene anche con FF?

    Se poi ce un buon esempio di ajax senza sconvolgere troppo quello che ho già fatto ne sarei grato per l'eternità.

    In pratica deve solo leggere ciò che arriva in una variabile e metterlo nel div, per me sarebbe più semplice, ma non so se sia possibile.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non credevo di arrivare a suggerire ahah ma se il problema è quello di aggiornare un div, se proprio non si trova di meglio, allora prova questo:

    http://www.gizax.it/articles/2005/ahah/

    Pietro

  6. #6
    Ciao l'ho trovato interessante, ma non riesco a capire da dove prende i parametri della stringa inviata.
    poi mi da errori del tipo getElementById(...) e nullo o non e un oggetto

    questo e il codice che sto cercando di adattare.

    function ahah(url,target) {
    document.getElementById(target).innerHTML = 'attendere prego...';
    if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = function() {ahahDone(target);};
    req.open("GET", url, true);
    req.send(null);
    } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
    req.onreadystatechange = function() {ahahDone(target);};
    req.open("GET", url, true);
    req.send();
    }
    }
    }

    In pratica mi arrivano le informazioni dal database in una variabile chiamata $respose che essa e contenuta in un echo e stampa le informazioni tramite il refresh della pagina, o l'invio del form dell'utente, dilemma della programmazione

  7. #7
    up up up up :rollo:

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: non devi "adattare" la funzione ma usarla o cambiarla

    l'uso è semplice:

    ahah("pagina.aspx?variabile1=valore1&variabile2=va lore2","div1");


    dove "div1" è l'id del div dove va il risultato della chiamata al server

    "pagina.aspx?variabile1=valore1&variabile2=valore2 " è la chiamata al server, nome pagina più una serie di chiavi-valori
    Pietro

  9. #9
    Finalmente ho capito meglio nella funzione cosa si mette, era un rebus.
    Sai sono abituato al codice php, e il javascript strutturalmente può essere simile, ma le definizioni sono assai diverse.
    Ti posto il sorgente della chat, almeno non ti stresso più

    Pagina chat:
    Codice PHP:
    <?php
            $user_select
    =mysql_fetch_array(mysql_query("SELECT * FROM user WHERE nome='$user'")) or die (mysql_error());    
            
    //Inizializating Chat
            
    $chat_execute='user_ok';
            
    $all_users='all';
            
    $chat_message="";
            
    $chat_message=$_POST['chat_message'];
            
            if(
    $chat_message!="")
            {
            
    $transmessaggio = array(" " => " ");
            
    $messaggiotradotto strtr($chat_message$transmessaggio);
            if(
    $chat_message!="$messaggiotradotto"
            {
            
    $messa explode (" " $chat_message);
            
    $parte1=$messa[0];
            
    $messaggi=$messa[1];
            
    $chat_message=$messaggi;
            if(
    $messaggi)
            {
            
    $chat_execute="user_go";
            }
            }
            } 
            
            if(
    $chat_message!="")
            {
            
    $transmessaggio = array("+" => " ");
            
    $messaggiotradotto strtr($chat_message$transmessaggio);
            if(
    $chat_message!="$messaggiotradotto"
            {
            
    $messa explode ("+" $chat_message);
            
    $parte1=$messa[0];
            
    $messaggi=$messa[1];
            
    $chat_message=$messaggi;
            if(
    $messaggi)
            {
            
    $chat_execute="user_go";
            }
            }
            }
            if(
    $chat_message!="")
            {
            
    $transmessaggio = array("@" => " ");
            
    $messaggiotradotto strtr($chat_message$transmessaggio);
            if(
    $chat_message!="$messaggiotradotto"
            {
            
    $messa explode ("@" $chat_message);
            
    $parte1=$messa[0];
            
    $destinatario=$messa[1];
            
    $messaggi=$messa[2];
            
    $chat_message=$messaggi;
            
    $all_users=$destinatario;
            if(
    $messaggi)
            {
            
    $chat_execute="user_sussurro";
            }
            }
            }
            if(
    $chat_message!="")
            {
            
    $transmessaggio = array("§" => " ");
            
    $messaggiotradotto strtr($chat_message$transmessaggio);
            if(
    $chat_message!="$messaggiotradotto"
            {
            
    $messa explode ("§" $chat_message);
            
    $parte1=$messa[0];
            
    $messaggi=$messa[1];
            
    $chat_message=$messaggi;
            if(
    $messaggi)
            {
            if(
    ereg("[^0-9]",$chat_message) == FALSE)
            {
            
    $tiro=rand(1,$messaggi);
            
    $chat_execute="user_dado";
            }
            }
            }
            }
            
    //Master Key
            
    if(($dati['fato']=='1') || ($dati[mestiere]=='Nobili'))
            {
            if(
    $chat_message!="")
            {
            
    $transmessaggio = array("#" => " ");
            
    $messaggiotradotto strtr($chat_message$transmessaggio);
            if(
    $chat_message!="$messaggiotradotto"
            {
            
    $messa explode ("#" $chat_message);
            
    $parte1=$messa[0];
            
    $messaggi=$messa[1];
            
    $chat_message=$messaggi;
            if(
    $messaggi)
            {
            
    $chat_execute="user_master";
            }
            }
            }
            }
            if((
    $dati['fato']=='1') || ($dati[mestiere]=='Nobili'))
            {
            if(
    $chat_message!="")
            {
            
    $transmessaggio = array("&" => " ");
            
    $messaggiotradotto strtr($chat_message$transmessaggio);
            if(
    $chat_message!="$messaggiotradotto"
            {
            
    $messa explode ("&" $chat_message);
            
    $parte1=$messa[0];
            
    $messaggi=$messa[1];
            
    $chat_message=$messaggi;
            if(
    $messaggi)
            {
            
    $chat_execute="user_img";
            }
            }
            }
            }
            if((
    $chat_message!=''))
            {
            
    $get_time=time();
            
    //User Select    
            
    $sesso=$user_select['img_sesso'];
            
    $tempo=$user_select['chat'];
            
    //Insert INTO chat SQL table
            
    $azione=mysql_query("INSERT INTO chat (user, messaggio, timeout, sesso, now, luogo, to_chat, do_chat, tiro) VALUES ('$user', '$chat_message', '$get_time', '$sesso', NOW(), '$id', '$all_users', '$chat_execute','$tiro')") or die (mysql_error());
            }
            
    $tempo=$user_select['chat'];
            
    $azione2=mysql_query("SELECT * FROM chat WHERE luogo='$id' AND timeout>='$tempo' ORDER by id DESC LIMIT 0, 60") or die (mysql_error());
            
    $risultati"";
            while(
    $row=mysql_fetch_array($azione2))
            {
            
    $chat_date=date("H:i ",$row['timeout']);
            
    $pg_name=$row['user'];
            
    $chat_message=$row['messaggio'];
            
    $chat_img_sex=$row['sesso'];
            
    $chat_message=eregi_replace("<","&lt;",$chat_message);
            
    $chat_message=eregi_replace(">","&gt;",$chat_message);
            
    $chat_message=eregi_replace("\n","
    "
    ,$chat_message);
            
    $chat_message=str_replace("[","[",$chat_message);
            
    $chat_message=str_replace("]","]",$chat_message);
            
    //$chat_message=str_replace("/","\",$chat_message);
            
    $rowpg=mysql_fetch_array(mysql_query("select * from user where nome='$pg_name'"));
            
    $countmaster=mysql_num_rows(mysql_query("select * from gilda where master='$pg_name'"));
            
    $n="Nessuno";
            if(
    $rowpg[mestiere]==$n){
            
    $img=$rowpg[img_araldica]; 
            }else{ 
            
    $img=$rowpg[img_mestiere]; 
            }
            if((
    $row['do_chat']=='user_ok'))
            {
            if(
    $countmaster!='0')
            {
            
    $risultati.="<span class=\"azione_cittadino\">$chat_date</span> <img src=\"$rowpg[img_sesso]\"><img src=\"$rowpg[img_mestiere]\"><span class=\"cittadino\"><a href=\"#\" onClick=\"window.open ('avatar.php?pg=$pg_name','Avatar', 'scrollbars=yes,status=yes,resizable=yes,top=200,left=200,width=600,height=400');\"><span class=\"cittadino\">$pg_name</span></a></span><span class=\"azione_cittadino\">$chat_message</span></p>";
            }                
            else
            {
            
    $risultati.="<span class=\"azione_cittadino\">$chat_date</span> <img src=\"$rowpg[img_sesso]\"><img src=\"$img\"><span class=\"cittadino\"><a href=\"#\" onClick=\"window.open ('avatar.php?pg=$pg_name','Avatar', 'scrollbars=yes,status=yes,resizable=yes,top=200,left=200,width=600,height=400');\"><span class=\"cittadino\">$pg_name</span></a><span class=\"azione_cittadino\">$chat_message</span></p>";
            }
            }
            if((
    $row['do_chat']=='user_go'))
            {        
            if(
    $countmaster!='0')
            {
            
    $risultati.="<p align=\"left\"><span class=\"azione_cittadino\">$chat_date</span><span class=\"master\">$pg_name</span> <span class=\"master\">$chat_message</span></p>";
            }                
            else
            {
            
    $risultati.="<p align=\"left\"><span class=\"azione_cittadino\">$chat_date</span><span class=\"cittadino\">$pg_name</span> <span class=\"cittadino\">$chat_message</span></p>";
            }
            }
            if((
    $row['do_chat']=='user_dado'))
            {        
            if(
    ereg("[^0-9]",$chat_message) == FALSE)
            
    $risultati.="<p class=\"dadi\" align=\"left\">$pg_name tiro $row[tiro] su base $chat_message</p>";
            }
            if((
    $row['do_chat']=='user_master'))
            {
            
    $risultati.="<p align=\"center\" class=\"fato\">$chat_message</p>";
            }
            if((
    $row['do_chat']=='user_img'))
            {
            
    $risultati.="<p align=\"center\" class=\"fato\"><img src=\"$chat_message\"></p>";
            }
            if((
    $row['do_chat']=='user_sussurro') && ($row[to_chat] == $user))
            {
            
    $risultati.="<table id=\"table4\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tbody><tr><td class=\"table1\"><p align=\"center\"><font size=\"1\">[b]$pg_name[/b] Vi ha sussurrato:[/b] e sussurrate: </font></p></td></tr><tr><td class=\"table3\" height=\"22\"><font size=\"1\">$chat_message</font></td></tr></tbody></table>";
            }
            if((
    $row['do_chat']=='user_sussurro') && ($row[user] == $user))
            {
            
    $risultati.="<table id=\"table4\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tbody><tr><td class=\"table1\"><p align=\"center\"><font size=\"1\">Vi avvicinate a [b]$row[to_chat][/b] e sussurrate: </font></p></td></tr><tr><td class=\"table3\" height=\"22\"><font size=\"1\">$chat_message</font></td></tr></tbody></table>";
            }
            }
            echo 
    "<div id=\"chat\">$risultati</div>";
    ?>
    Questa invece e la barra dove invia i dati:
    Codice PHP:
    <form id="chat" name="chat_barra" action="chat_engine.php?id=<?php echo $id?>" target="chat" method="post" onsubmit="javascript:location.reload();">
        <div align="center">
        <input name="chat_message" type="text" class="table1" size="70">
        <input type="submit" value="Invia" class="table1" name="inviato">
        <input type="button" Onclick="javascript:parent.chat.location.href='chat_engine.php?id=<?php echo $id?>'" class="table1" value="Aggiorna">
        </div>
            </form>
    Tu come faresti?
    Dammi una mano grande che sono mesi che mi stò scervellando, poi giuro che non ti assillo più

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Senti, il tuo codice php è interessantissimo peccato che di php non ne capisca niente
    Pietro

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.