• Super User

    Aggiungi la riga evidenziata
    [php]
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    $nick_orig=$nick; //aggiungi
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    [/php]

    e modifica

    [php]
    echo "<b><font face="verdana" size="2" color="#000000"><a title="".$rows_utenti_info[$nick_orig]['provincia']."(".$rows_utenti_info[$nick_orig]['citta'].")">$nick</a></font>: </b>"."<font face="verdana" size="2">".$msg."</font><br>";
    [/php]


  • Super User

    @ayrton2001 said:

    Aggiungi la riga evidenziata
    [php]
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    $nick_orig=$nick; //aggiungi
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    [/php]e modifica

    [php]
    echo "<b><font face="verdana" size="2" color="#000000"><a title="".$rows_utenti_info[$nick_orig]['provincia']."(".$rows_utenti_info[$nick_orig]['citta'].")">$nick</a></font>: </b>"."<font face="verdana" size="2">".$msg."</font><br>";
    [/php]
    inoltre mi dici come è formattato il file $file_mess ?
    basta copiarmi due righe


  • User Attivo

    allora con i nuovi pezzi di codice appaiono sempre le due () senza nulla dentro, per via della formattazione del file messaggi spero tu ti riferisca al file messaggi.txt:

    eccolo:
    [em4] [21:59 - 26/04/08] gianluca(ud)|Ciao a tutti.
    [em4] [21:59 - 26/04/08] marco(pd)|ciao gianluca
    [em5] [21:59 - 26/04/08] gianni(tv)|ciao gianluca!...
    [em4] [22:00 - 26/04/08] marco(pd)|ora vi saluto ciao a domani
    [em5] [22:00 - 26/04/08] gianni(tv)|ciao marco, a domani...
    [em4] [22:05 - 26/04/08] gianluca(ud)|In sostanza almeno anche lunedì il tempo dovrebbe reggere.
    [em5] [22:07 - 26/04/08] gianni(tv)|si, e non credo farà molto nemmeno per i giorni successivi, vedo bene le prealpi e le alpi, insomma un po nordica ecco...
    [em4] [22:08 - 26/04/08] gianluca(ud)|Non mi sbilancio per il momento: intanto mi godo il bel tempo che c'è stato finalmente oggi e che ci sarà domani.
    [em5] [22:09 - 26/04/08] gianni(tv)|esatto, ieri mi son visto pure il temporale, quindi per qualche giorno vada pure il sole...
    [em4] [22:12 - 26/04/08] gianluca(ud)|Ne riparliamo domani della prossima settimana. Ciao!
    [em5] [22:12 - 26/04/08] gianni(tv)|ciao gianluca e buona domenica.
    [em4] [22:12 - 26/04/08] gianluca(ud)|Grazie, anche ate.

    nota che alla fine di ogni frase di ogni utente c'è anche una specie di quadratino che separa ogni messaggio ma postandolo qui non si vede.


  • Super User

    @giulio3x said:

    allora con i nuovi pezzi di codice appaiono sempre le due () senza nulla dentro, per via della formattazione del file messaggi spero tu ti riferisca al file messaggi.txt:

    eccolo:
    [em4] [21:59 - 26/04/08] gianluca(ud)|Ciao a tutti.
    [em4] [21:59 - 26/04/08] marco(pd)|ciao gianluca
    [em5] [21:59 - 26/04/08] gianni(tv)|ciao gianluca!...
    [em4] [22:00 - 26/04/08] marco(pd)|ora vi saluto ciao a domani
    [em5] [22:00 - 26/04/08] gianni(tv)|ciao marco, a domani...
    [em4] [22:05 - 26/04/08] gianluca(ud)|In sostanza almeno anche lunedì il tempo dovrebbe reggere.
    [em5] [22:07 - 26/04/08] gianni(tv)|si, e non credo farà molto nemmeno per i giorni successivi, vedo bene le prealpi e le alpi, insomma un po nordica ecco...
    [em4] [22:08 - 26/04/08] gianluca(ud)|Non mi sbilancio per il momento: intanto mi godo il bel tempo che c'è stato finalmente oggi e che ci sarà domani.
    [em5] [22:09 - 26/04/08] gianni(tv)|esatto, ieri mi son visto pure il temporale, quindi per qualche giorno vada pure il sole...
    [em4] [22:12 - 26/04/08] gianluca(ud)|Ne riparliamo domani della prossima settimana. Ciao!
    [em5] [22:12 - 26/04/08] gianni(tv)|ciao gianluca e buona domenica.
    [em4] [22:12 - 26/04/08] gianluca(ud)|Grazie, anche ate.

    nota che alla fine di ogni frase di ogni utente c'è anche una specie di quadratino che separa ogni messaggio ma postandolo qui non si vede.

    Trovata la magagna
    Aggiungi e modifica le righe indicate:

    [PHP]
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    eregi("[(.)] [(.)] (.)((.))", $nick, $regnick); //aggiungi
    $nick_orig=$regnick; //modifica
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    [/PHP]

    Inoltre se non va copia tutto il codice con tutte le modifiche fino a qui fatte


  • User Attivo

    intanto grazie, però nemmeno così funziona sempre solo () appare...

    facciamo così ti posto il codice come lo ho adesso e vedi com'è:
    [PHP]<html>
    <head>
    <title>Messaggi degli utenti</title>
    <?php
    include("config.php");
    echo "<meta http-equiv="refresh" content="$time_refresh">";
    ?>
    </head>
    <body bgcolor="white">
    <?php
    //Creo l'array dove inserirò le informazioni
    $rows_utenti_info = array();
    //Leggo il file utenti
    $rows_utenti=$file_reg;
    foreach($rows_utenti AS $v)
    {
    $tmp = explode('|', $v);
    $rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
    }

    if (!(file_exists($file_mess))) {
    $fpw = fopen($file_mess,"w"); fclose($fpw);
    }
    $rows_file=file($file_mess);
    $rows_file_ord=array_reverse($rows_file);
    $count=count($rows_file_ord);
    for ($i=0;($i<$count && $i<$num_messag);$i++)
    {
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    eregi("[(.)] [(.)] (.)((.))", $nick, $regnick);
    $nick_orig=$regnick;
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    for ($x=1;$x<27;$x++)
    {
    $img="em".$x;
    $img2="[".$img."]";
    $path="<img src="emoticons/$img.gif">";
    $msg = str_replace("$img2","$path",$msg);
    }
    for ($x=1;$x<27;$x++)
    {
    $img="em".$x;
    $img2="[".$img."]";
    $path="<img src="emoticons/$img.gif">";
    $nick = str_replace("$img2","$path",$nick);
    }

    echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['$provincia']."(".$rows_utenti_info[$nick_orig]['$citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
    

    }
    ?>
    </body>
    </html>[/PHP]


  • Super User

    @giulio3x said:

    intanto grazie, però nemmeno così funziona sempre solo () appare...

    facciamo così ti posto il codice come lo ho adesso e vedi com'è:
    [php]<html>
    <head>
    <title>Messaggi degli utenti</title>
    <?php
    include("config.php");
    echo "<meta http-equiv="refresh" content="$time_refresh">";
    ?>
    </head>
    <body bgcolor="white">
    <?php
    //Creo l'array dove inserirò le informazioni
    $rows_utenti_info = array();
    //Leggo il file utenti
    $rows_utenti=$file_reg;
    foreach($rows_utenti AS $v)
    {
    $tmp = explode('|', $v);
    $rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
    }

    if (!(file_exists($file_mess))) {
    $fpw = fopen($file_mess,"w"); fclose($fpw);
    }
    $rows_file=file($file_mess);
    $rows_file_ord=array_reverse($rows_file);
    $count=count($rows_file_ord);
    for ($i=0;($i<$count && $i<$num_messag);$i++)
    {
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    eregi("[(.)] [(.)] (.)((.))", $nick, $regnick);
    $nick_orig=$regnick;
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    for ($x=1;$x<27;$x++)
    {
    $img="em".$x;
    $img2="[".$img."]";
    $path="<img src="emoticons/$img.gif">";
    $msg = str_replace("$img2","$path",$msg);
    }
    for ($x=1;$x<27;$x++)
    {
    $img="em".$x;
    $img2="[".$img."]";
    $path="<img src="emoticons/$img.gif">";
    $nick = str_replace("$img2","$path",$nick);
    }

    echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['$provincia']."(".$rows_utenti_info[$nick_orig]['$citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
    

    }
    ?>
    </body>
    </html>[/php]

    Altro errore:
    //Leggo il file utenti
    $rows_utenti=$file_reg;

    deve essere
    $rows_utenti=file($file_reg);


  • User Attivo

    no nemmeno mettendo $rows_utenti=file($file_reg); funziona sempre solo ()

    l'errore secondo me è da un'altra parte e secondo me sta qui:
    [PHP]foreach($rows_utenti AS $v)
    {
    $tmp = explode('|', $v);
    $rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
    } [/PHP]


  • Super User

    @giulio3x said:

    no nemmeno mettendo $rows_utenti=file($file_reg); funziona sempre solo ()

    l'errore secondo me è da un'altra parte e secondo me sta qui:
    [php]foreach($rows_utenti AS $v)
    {
    $tmp = explode('|', $v);
    $rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
    } [/php]

    Scrivi:
    [php]foreach($rows_utenti AS $v)
    {
    print_r($v); //Add
    echo "<br />"; //Add
    $tmp = explode('|', $v);
    $rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
    } [/php]
    così vediamo cosa contiene ogni riga.
    copiami il risultato.


  • User Attivo

    appare questo:

    mar|maFVp8RZN29ZI|[email protected]|34|maschio|de|rt|151.35.8.68|15:28 - 05/04/08

    [19:32 - 09/05/08] mar: ciao1
    [21:41 - 07/05/08] mar: adesso...

    visto che sto lavorando su una chat a parte mi sono registrato a nome "mar" (non ci sono altri utenti) e appare quindi sulla pagina dei messaggi tutta la banda di dati di mar e sotto compaiono i messaggi degli utenti, anche se poi provo a scrivere un messaggio questo compare ma sopra rimane sempre la frase con i dati...


  • Super User

    @giulio3x said:

    appare questo:

    mar|maFVp8RZN29ZI|[email protected]|34|maschio|de|rt|151.35.8.68|15:28 - 05/04/08

    [19:32 - 09/05/08] mar: ciao1
    [21:41 - 07/05/08] mar: adesso...

    visto che sto lavorando su una chat a parte mi sono registrato a nome "mar" (non ci sono altri utenti) e appare quindi sulla pagina dei messaggi tutta la banda di dati di mar e sotto compaiono i messaggi degli utenti, anche se poi provo a scrivere un messaggio questo compare ma sopra rimane sempre la frase con i dati...

    Fin qui è ok.

    ora aggiungi la riga segnata con //Aggiungi:

    [PHP]
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    eregi("[(.)] [(.)] (.)((.))", $nick, $regnick);
    $nick_orig=$regnick;
    echo $nick_orig."<br />"; //Aggiungi
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    [/PHP]


  • User Attivo

    mah con questa aggiunta non succede nulla... tutto come prima.


  • Super User

    @giulio3x said:

    mah con questa aggiunta non succede nulla... tutto come prima.

    altra magagna.
    cambia
    $nick_orig=$regnick;
    con
    $nick_orig=$regnick[3];


  • User Attivo

    @ayrton2001 said:

    altra magagna.
    cambia
    $nick_orig=$regnick;
    con
    $nick_orig=$regnick[3];

    niente non cambia nulla da prima, appaiono sempre le due () senza nulla dentro, 😢


  • Super User

    @giulio3x said:

    niente non cambia nulla da prima, appaiono sempre le due () senza nulla dentro, 😢

    Ho copiato tutto in locale così l'ho provato io stesso.
    Ti copio il codice funzionante. Logicamente gli utenti che hanno scritto i messaggi devono essere presenti nel file degli utenti
    Se ci pensavo prima avremmo finito in 3 minuti :gtsad:

    [PHP]
    <html>
    <head>
    <title>Messaggi degli utenti</title>
    <?php
    include("config.php");
    echo "<meta http-equiv="refresh" content="$time_refresh">";
    ?>
    </head>
    <body bgcolor="white">
    <?php
    //Creo l'array dove inserirò le informazioni
    $rows_utenti_info = array();
    //Leggo il file utenti
    $rows_utenti=file($file_reg);
    foreach($rows_utenti AS $v)
    {
    $tmp = explode('|', $v);
    $rows_utenti_info[$tmp[0]]['citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['provincia'] = $tmp[5];
    }

    if (!(file_exists($file_mess))) {
    $fpw = fopen($file_mess,"w"); fclose($fpw);
    }

    $rows_file=file($file_mess);
    $rows_file_ord=array_reverse($rows_file);
    $count=count($rows_file_ord);
    for ($i=0;($i<$count && $i<$num_messag);$i++)
    {
    $dati_utente=explode("|",$rows_file_ord*);
    $nick=$dati_utente[0];
    eregi("[(.)] [(.)] (.*)", $nick, $regnick);
    $nick_orig=$regnick[3];
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    for ($x=1;$x<27;$x++)
    {
    $img="em".$x;
    $img2="[".$img."]";
    $path="<img src="emoticons/$img.gif">";
    $msg = str_replace("$img2","$path",$msg);
    }
    for ($x=1;$x<27;$x++)
    {
    $img="em".$x;
    $img2="[".$img."]";
    $path="<img src="emoticons/$img.gif">";
    $nick = str_replace("$img2","$path",$nick);
    }

    echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['provincia']."(".$rows_utenti_info[$nick_orig]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
    

    }
    ?>
    </body>
    </html>
    [/PHP]


  • User Attivo

    ayrton come sempre sei una conferma:smile5:! bene funziona in modo eccellente!
    grazie supermille!:wink3::yuppi:

    avrei adesso bisogno di altre cose posso richiedertele oppure no?

    mi piacerebbe fare in modo che quando un utente entra nella chat, al posto del numero di utenti compaia proprio il nome dell'utente connesso e che quando esce scompare il nome, forse bisogna fare una specie di logout...

    il file attuale degli utenti on-line è questo:
    [PHP]<html>
    <head>
    <title>Persone online</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript">
    function apri(nick_ut)
    {
    window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200");
    }
    </script>
    </head>
    <body bgcolor="#E7E9FA">
    <?
    include("config.php");
    $ar_online=file($file_online);
    $dim=count($ar_online);
    for ($i=0;$i<$dim;$i++)
    {
    $ut_online=chop($ar_online*);
    $utente=explode("|",$ut_online);
    $nick_ut=$utente[0];
    $data=$utente[1];
    $orario=$utente[2];
    $parti_data=explode("/",$data);
    $giorno=$parti_data[0];
    $mese=$parti_data[1];
    $anno=$parti_data[2];
    $parti_orario=explode(":",$orario);
    $ora=$parti_orario[0];
    $minuti=$parti_orario[1];
    $secondi=$parti_orario[2];
    $ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$anno);
    $diff=time()-$ts;
    $min_trascorsi=$diff/60;
    if ($min_trascorsi<$min_online)
    {
    $array_on[]=$nick_ut;
    }
    }
    $ar_unico=array_unique($array_on);
    $dim_unico=count($ar_unico);
    echo "<font face="Verdana" size="1">$dim_unico persone online</font>";
    ?>
    </body>
    </html>
    [/PHP]


  • User Attivo

    @giulio3x said:

    ayrton come sempre sei una conferma:smile5:! bene funziona in modo eccellente!
    grazie supermille!:wink3::yuppi:

    avrei adesso bisogno di altre cose posso richiedertele oppure no?

    mi piacerebbe fare in modo che quando un utente entra nella chat, al posto del numero di utenti compaia proprio il nome dell'utente connesso e che quando esce scompare il nome, forse bisogna fare una specie di logout...

    il file attuale degli utenti on-line è questo:
    [php]<html>
    <head>
    <title>Persone online</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript">
    function apri(nick_ut)
    {
    window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200");
    }
    </script>
    </head>
    <body bgcolor="#E7E9FA">
    <?
    include("config.php");
    $ar_online=file($file_online);
    $dim=count($ar_online);
    for ($i=0;$i<$dim;$i++)
    {
    $ut_online=chop($ar_online*);
    $utente=explode("|",$ut_online);
    $nick_ut=$utente[0];
    $data=$utente[1];
    $orario=$utente[2];
    $parti_data=explode("/",$data);
    $giorno=$parti_data[0];
    $mese=$parti_data[1];
    $anno=$parti_data[2];
    $parti_orario=explode(":",$orario);
    $ora=$parti_orario[0];
    $minuti=$parti_orario[1];
    $secondi=$parti_orario[2];
    $ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$anno);
    $diff=time()-$ts;
    $min_trascorsi=$diff/60;
    if ($min_trascorsi<$min_online)
    {
    $array_on[]=$nick_ut;
    }
    }
    $ar_unico=array_unique($array_on);
    $dim_unico=count($ar_unico);
    echo "<font face="Verdana" size="1">$dim_unico persone online</font>";
    ?>
    </body>
    </html>
    [/php]

    cioè vorrei sia che il numero ma anche i nick di chi è on-line, il file di adesso dopo che uno ha scritto un messaggio è on-line per 60 secondi dopodichè se non scrive per 3 minuti non viene più conteggiato fino al prossimo messaggio e non è bello così...


  • Super User

    @giulio3x said:

    cioè vorrei sia che il numero ma anche i nick di chi è on-line, il file di adesso dopo che uno ha scritto un messaggio è on-line per 60 secondi dopodichè se non scrive per 3 minuti non viene più conteggiato fino al prossimo messaggio e non è bello così...

    Perchè non è bello?
    E come lo vorresti?


  • User Attivo

    @ayrton2001 said:

    Perchè non è bello?
    E come lo vorresti?

    si non mi piace molto, io ti spiego:

    voglio che quando un utente entra e fa il login mi appare sia il nome di chi è on-line, ma anche quanti sono on-line, e non voglio che sia come adesso che quando uno è 60 secondi che ha scritto il messaggio poi non viene più conteggiato come on-line e in realtà poi lo è...