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($messaggio, 1);
$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?