• User Attivo

    allora il file registro.txt è così composto:

    fino a 1 settimana fa i dati venivano così salvati:
    ludovico(ve)|luo5rHtMnVsyU|14|maschio|Brescia|[email protected]|87.2.98.65

    mentre da 1 settimana e cioè da quando il file ins_ut.php lo ho modificato me li salva in questo modo:

    ludovico(ve)|luo5rHtMnVsyU|[email protected]|14|maschio|Brescia|Desenzano del Garda|87.2.98.65

    ti posto i file ins_ut.php fino a una settimana fa e poi quello attuale:

    [php]<?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $ip = $_SERVER['REMOTE_ADDR'];
    $nick=$_POST['nick'];
    $nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
    $nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
    con addslòashes
    /
    $password=$_POST['password'];
    $password=strtolower($password);/conversione della stringa della
    password in minuscolo
    /
    $password_cr=crypt($password,$nick);/criptazione di tipo DES della
    password usando come chiave la stringa del nick
    /
    $password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
    una criptazione aggiuntiva: se nella password criptata sono presenti
    | sono sostituiti con * /
    $age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
    per la sicurezza
    /
    if(!(int)$age)
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }
    $sex=$_POST['sex'];
    $nation=$_POST['nation'];
    $hobbies=$_POST['hobbies'];
    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
    elemento del vettore corrisponde ad ogni riga del file
    /
    $dim_reg=count($ut_regist);/conta le righe del vettore/
    /ora che il file è un vettore era meglio utilizzare un foreach
    piuttosto che un for
    /
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist
    );/chop è alias di rtrim ed elimina spazi ed
    altro dalla fine del file in questo caso dalla riga in cui andremo a
    scrivere
    /
    $dati_ut=explode("|",$utente);/considerando ogni riga come un array si
    separa ogni elemento dell'array con un |
    /
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
    controlla che il nick o la passwords nopn esistano
    /
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
    empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
    PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a
    href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else /in caso in cui tutti i campi siano stati tutti riempiti/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
    $ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
    vettore-filre
    /
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a
    href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>[/php]questo è quello nuovo:
    [php]<?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>

    <?php
    include("config.php");
    // crei un codice
    $codice_alfanumerico_casuale = MD5(microtime());
    // mescoli i caratteri
    $codice_alfanumerico_casuale = str_shuffle($codice_alfanumerico_casuale);
    // ne prendi una piccola quantità (esempio: 15)
    $codice_alfanumerico_casuale = substr($codice_alfanumerico_casuale, 0, 15);
    // creo il nome del file temporaneo
    $file_iscr_temp = $codice_alfanumerico_casuale.".dat";
    // percorso alla cartella con i permessi di scrittura
    $percorso_temp = "iscr_temp/$nome_file_temp";

    $ip = $_SERVER['REMOTE_ADDR'];
    $nick = trim($_POST['nick']);
    $password = trim($_POST['password']);
    $sex = trim($_POST['sex']);
    $città = trim($_POST['città']);
    $provincia= trim($_POST['provincia']);
    $age = trim($_POST['age']);
    $email = trim($_POST['email']);

    if ($nick == "" OR
    $password == "" OR
    $age == "" OR
    $email == "" OR
    $sex == "" OR
    $città == "" OR
    $provincia == "") {
    echo "
    <center>
    <font face="Verdana" size="2">NON HAI RIEMPITO UNO O PIU' CAMPI</font></center>
    <br />
    <br />
    <a href="java-script:history.back();">TORNA INDIETRO</a>
    </font>
    </center>";
    exit;
    }
    /* qui si verifica che eta sia intera ,altro controllo per la sicurezza*/
    if(!is_numeric($age))
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }

    $nick = stripslashes($nick);
    $città = stripslashes($città);
    $provincia = stripslashes($provincia);
    $email = stripslashes($email);

    // qui aggiungi il codice di controllo dei duplicati
    $array_utenti_reg = file('registro.txt');
    $quanti = count($array_utenti_reg);

    for ($i = 0; $i < $quanti; $i++) {
    list($nick_reg, $pw_reg, $email_reg, $age_reg, $sex_reg, $cit_reg, $prov_reg, $ip_reg) = explode("|", $array_utenti_reg*);

    $nick_reg = trim($nick_reg); 
    $email_reg = trim($email_reg); 
    
    
    if ($nick_reg == $nick) { 
        echo "Spiacente, ma il nome utente da te scelto è già registrato per un altro utente."; 
        exit(); 
        } 
    
    if ($email_reg == $email) { 
        echo "Spiacente, ma l'indirizzo email da te scritto è già registrato per un altro utente."; 
        exit(); 
        } 
    }
    

    $password_cr = crypt($password,$nick);
    /criptazione di tipo DES della password usando come chiave la stringa del nick/
    $password_cr=str_replace("|","*",$password_cr);
    /*questa la si definisce una criptazione aggiuntiva:
    se nella password criptata sono presenti | sono sostituiti con *
    */

    // preparo la variabile che contiene la stringa da salvare nel file temporaneo
    $utente=$nick."|".$password_cr."|".$email."|".$age."|".$sex."|".$città."|".$provincia."|".$ip."\n";
    // scrivo nel file
    $handle = fopen("$percorso_temp/$file_iscr_temp", "w");
    $scrivi = fwrite ($handle, $utente);
    fclose ($handle);

    // preparo il messaggio da mandare per email
    $messaggio_email = "
    Ciao, $nick e grazie per esserti iscritto/a alla chat del nostro sito.
    Per potere accedere alla chat, però, devi confermare la tua iscrizione cliccando il seguente link:
    <br>http:..........................
    <br>Solo la dopo la conferma potrai entrare nella chat meteo e segnalare che tempo fa nella tua città!
    <br>N.B.: Per quasiasi eventuale problema inerente all'attivazione dell'account, puoi rivolgerti alla Redazione Globalmeteo.org
    tramite e-mail all'indirizzo: [email protected]
    <br>==================================
    Redazione Globalmeteo.org

    ";

    mail($email, "Registrazione Chat Meteo Globalmeteo", $messaggio_email);

    // messaggio di cortesia
    echo "
    <hr />
    Registrazione effettuata con successo!
    <br />Riceverai una email per confermare il tuo account e per potere accedere alla nostra chat meteo.
    ";
    ?>[/php]da notare che il file nuovo è stato fatto insieme ad un altro utente, io non ci sarei mai riuscito da solo.

    nota anche che con il vecchio ins_ut.php al posto di nation e hobbies facevo mettere all'utente città e e-mail.

    quello che voglio che si veda il nick, la città, la provincia. (riferito all'ultimo ins_ut.php, poi per quelli che si sono registrati con il vecchio ins_ut.php aggiungo io le informazioni.)


  • Super User

    @giulio3x said:

    allora il file registro.txt è così composto:

    .....
    quello che voglio che si veda il nick, la città, la provincia. (riferito all'ultimo ins_ut.php, poi per quelli che si sono registrati con il vecchio ins_ut.php aggiungo io le informazioni.)

    Quale è l'informazione che vuoi visualizzare attraverso l'alt?


  • User Attivo

    con la funzione alt, voglio che si visualizzi il nick, la città e la provincia.


  • Super User

    Se nella stringa:
    ludovico(ve)|luo5rHtMnVsyU|[email protected]|14|masc hio|Brescia|Desenzano del Garda|87.2.98.65

    ludovico(ve) ossia il primo campo è il nick

    prova cosi:

    [PHP]
    <html>
    <head>
    <title>Messaggi degli utenti</title>
    <?php
    include("config1.php");
    $file_utenti = 'registro.txt'; // potresti inserirlo dentro config1.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_utenti);
    foreach($rows_utenti AS $v)
    $tmp = explode('|', $rows_utenti);
    $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];
    $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]['provincia']."(".$rows_utenti_info[$nick]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
    

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

    In pratica viene letto il file registro.txt e le informazioni inserite nell'array bidimensionale $rows_utenti_info
    $rows_utenti_info è composto in questo modo
    $rows_utenti_infonick]['citta']
    $rows_utenti_infonick]['provincia']


  • User Attivo

    allora ho fatto qualche modifica al tuo codice poichè c'era qualche imprecisione, tralaltro mancava una parentesi graffa alla riga venti insomma mi dava errore e diceva che era stat chiusa una parentesi che non era stata aperta, poi ho messo il $ su città e provinciae poi ho sistemato questo $rows_utenti=file($file_reg)

    in pratica il file degli utenti su config.php è denominato come $file_reg=registro.txt

    ecco il codice di adesso:
    [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('|', $rows_utenti);
    {
    $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];
    $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]['provincia']."(".$rows_utenti_info[$nick]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
    

    }
    ?>
    </body>
    </html>[/php]allora come effetto la tendina compare ma al suo interno c'è solo ()
    senza le info all'interno:bho:.


  • Super User

    @giulio3x said:

    allora ho fatto qualche modifica al tuo codice poichè c'era qualche imprecisione, tralaltro mancava una parentesi graffa alla riga venti insomma mi dava errore e diceva che era stat chiusa una parentesi che non era stata aperta, poi ho messo il $ su città e provinciae poi ho sistemato questo $rows_utenti=file($file_reg)

    in pratica il file degli utenti su config.php è denominato come $file_reg=registro.txt

    ecco il codice di adesso:
    [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('|', $rows_utenti);
    {
    $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];
    $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]['provincia']."(".$rows_utenti_info[$nick]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
    

    }
    ?>
    </body>
    </html>[/php]allora come effetto la tendina compare ma al suo interno c'è solo ()
    senza le info all'interno:bho:.
    Scusa ma per il poco tempo ho commesso un errore:

    Sostituisci:
    [php]
    foreach($rows_utenti AS $v)
    $tmp = explode('|', $rows_utenti);
    {
    $rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
    }
    [/php]con:
    [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]


  • User Attivo

    niente anche con il nuovo pezzo di codice compaiono sempre le due parentesi ma senza nulla dentro.:(


  • 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, 😢