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

    [Chat] Stampare stringa solo su monitor del destinatario.

    Ciao a tutti.
    E' da un po' di tempo che cerco di venire a capo di questo mistero senza riuscire a trovare una soluzione decente.
    Io vorrei fare in modo che all'interno della mia chat fosse possibile mandare un messaggio privato, senza ricorrere a finestre esterne, ma facendo sì che quanto viene scritto sia visualizzabile solo dal destinatario.
    Avevo in mente qualcosa del genere:

    se il messaggio è preceduto da "@nick_destinatario@", fa che la stringa sia visualizzata solo dal destinatario.
    Tradotto in codice, che lascio in sospeso per le cose che non riesco a fare:

    Codice PHP:
    if ($messaggio{0} = "@$nick_destinatario@"){
    $nuova_stringa = ???? 
    Mi aiutereste a completare il codice, o quanto meno mi dite che funzione poso usare per una cosa del genere?
    Grazie

  2. #2
    dipende da come è implementata la chat...

    se è una chat semplice che funziona tipo guestbook [uno lascia un messaggio e gli altri leggono].. boh.. potresti lasciare il compito al destinatario.. nel senso:

    se il messaggio è privato ed indirizzato a me, lo stampo.. se non è indirizzato a me non lo stampo.. semplice.. più che altro lo cript deve riconoscere ad ogni richiestea l'utente


  3. #3
    Uhm... quindi dovrei creare una variabile $messaggio_privato.
    Il problema è che io non riesco proprio a capire quale funzione si possa utilizzare per fare in modo che, mentre nella chat 20 persone scrivono, il messaggio privato che mando a "Tizio" sia visibile solo a lui e non anche agli altri.
    Ho inizialmente pensato che dovessi ricorrere ad un sistema che agiva in remoto sul computer dell'utente, qualcosa che fosse simile all'identificazione dell'ip. Però non so se va bene.
    Comunque, io ho scaricato e modificato una chat di latoserver.com
    Originariamente era composta da 4 file php: Chat.php, Form.php, Config.inc.php, emotion_list.php. Tutte le stringhe di visualizzazione che ho dato alla chat sono contenute nel file Chat.php. Vi posto il codice:

    Codice PHP:
    <?php

    session_start
    ();
    $nick $_SESSION["Utente"];
    echo 
    $nick;

    require(
    "config.inc.php");

    $ora date("H:i");
    $now time();

    $testa "<html><head><meta http-equiv=\"refresh\" content=\"$time_refresh\"></head><body bgcolor=\"$bgcolor\">\n";
    $coda "<!--LsPhpChat [url]http://www.latoserver.com--[/url]></body></html>\n";
    $err_mess "Impossbile scrivere o trovare il file $pat.
     Assicuarsi che la cartella abbia i permessi di scrittura attivi (CHMOD 777) o verificare la variabile "
    .'$path';


    if (!empty(
    $messaggio)){ 
        
        
    $vecchi_mex = @file($path) or die ($err_mess);
        
        
    $nline count($vecchi_mex);
        
        for (
    $i 1$i $max_mex$i++){
        
            if (
    $i $nline-1){
            
            
    eregi("(.*)",$vecchi_mex[$i],$nick_old);
            
    eregi("",$vecchi_mex[$i],$time_out);
        
                
    //echo $time_out[1];
                
    if ($time_out[1]+($time_limit 60) > $now  ){
                    
    $vecchi_mexx .= $vecchi_mex[$i];
                }
            }
        }
            
        
    $messaggio htmlspecialchars($messaggio);
        
        while (list(
    $char,$rep) = each($emotion) ){
            
    $messaggio str_replace($char"<img src=\"".$rep."\">"$messaggio );
      }
      
        
    $nuovo_mex "[/b]<font face=\"Verdana\" size=\"1\" color=\"black\">$ora <font face=\"$font_face\" size=\"$font_size\" color=\"$fontcolor\" $font_nick ><img src=\"$immagine\"> [b]$nick[/b]</font>[/i] <img src=\"$immagine2\"> <font face=\"$font_face\" size=\"$font_size\" color=\"$font_color\">".$messaggio."</font>
    \n"
    ;
        
        if (
    $messaggio{0} == "+"){
        
    $font_face "Verdana";
    $font_size "1";
    $font_color "#FF6500";
    $font_nick ">[b]<font color='#FF6500' size='1' face='verdana'";

    $messaggio substr($messaggio1);
    $nuovo_mex "[/b]<font face=\"$font_face\" size=\"$font_size\">$ora <color=\"$fontcolor\" $font_nick ><img src=\"$immagine\"> [b]$nick[/b]</font>[/i] <font face=\"$font_face\" size=\"$font_size\" color=\"$font_color\">".$messaggio."</font>
    \n"
    ;
    }
        
        
    $contenuto $testa.$nuovo_mex.$vecchi_mexx.$coda;

        
    $contenuto=stripslashes($contenuto);
        
        
    $fp = @fopen($path,"w") or die ($err_mess);
        
        
    $len strlen($contenuto);
        
        
    fwrite($fp,$contenuto,$len);
        
        
    fclose($fp);
        
        
    header("Location: $form_file");
        
    }else{
        
    header("Location: $form_file");
    }

    function 
    clear(){

        global 
    $testa;
        global 
    $path;
        global 
    $coda;
        global 
    $form_file;
        
        
    $contenuto $testa.$coda;
        
    $contenuto stripslashes($contenuto);
        
    $fp = @fopen($path,"w");
        
    $len strlen($contenuto);
        
    fwrite($fp,$contenuto,$len);
        
    fclose($fp);
        
    header("Location: $form_file");
        exit();
    }
    /*--End code--*/
    ?>
    Nel file config.inc non c'è nulla di particolare a parte la definizione della variabile $path, del tempo di refresh, della lunghezza massima dei caratteri ecc.. Va beh, posto il codice:

    Codice PHP:
    <?php

    $path 
    "message.html";
    $time_refresh 5;
    $special_word "clearchat";
    $max_mex 2000;
    $time_limit 300;
    $moderate "n";
    $images "images";
    $form_file "form.php";

    $bgcolor "#F8E9AA";
    $background "#ffffff";
    $font_face "Verdana";
    $font_size "2";
    $font_color "#000000";

    $badwords = array(
        
    "parolaccia1",
        
    "parolaccia2",
        
    "parolaccia3",
    );
    ?>

    In base a questo, come posso risolvere il problema?

  4. #4
    Continuo a brancolare nel buio.
    Raga nessuno che riesca ad illuminarmi?

  5. #5
    Ragazzi provo e riprovo ma continuo ad avere questo problema.
    Avrei bisogno di una spiegazione particolarmente esauriente.
    Me date una mano?
    Pleeeeeeeeeeeeease

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.