Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mchelder

TXTchat

Recommended Posts

Pessoal,

 

Baixei o TXtchat e quando tentei rodar o script, ele deu o siguinte erro:

 

Warning: open(/tmp\sess_d3f0c8328340fa72455319879e1f3861, O_RDWR) failed: m (2) in C:\apache\htdocs\ferramentas\chat\chat.php on line 2

 

Warning: open(/tmp\sess_d3f0c8328340fa72455319879e1f3861, O_RDWR) failed: m (2) in Unknown on line 0

 

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

 

:) Quem pode me ajudar a configurar o bixinho?!!!

Por favor necessito dessa mãozinha!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uso o PHPTriad como servidor. Esse script não usa banco de dados, e sou iniciante em PHP, e não estou sabendo configurar o script.

 

O codigo é o seguinte:

 

index.php

 

<?

require("chat.inc.php");

require("func_inc.php");

 

$obj = new chat;

$salas = $obj->salas();

 

for($i=0;$i<count($salas);$i++){

$obj->sala = $salas[$i];

$obj->atualiza_status();

$ar_salas = add_array($ar_salas, $salas[$i] . '('.count($obj->usuarios()).')', $salas[$i]);

}

 

$drop_salas = drop_down_array("sala", $ar_salas, "", 1);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>TXTChat</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body>

<p align="center"><strong><font color="#000099" size="5" face="Verdana, Arial, Helvetica, sans-serif">TXTChat</font></strong></p>

<p align="center"><strong><font color="#000099" size="5" face="Verdana, Arial, Helvetica, sans-serif">O

chat para seu site</font></strong></p>

<p align="center"><font color="#FF0000"><strong><?echo $msg?></strong></font></p>

<p><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Digite

seu apelido para entrar no chat</font></strong></p>

<form name="form1" method="post" action="chat.php">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="8%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Apelido:</font></td>

<td width="92%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

<input name="usuario" type="text" id="usuario">

Sala: <?echo $drop_salas?>

<input type="submit" name="Submit" value="Entrar">

</font></td>

</tr>

</table>

</form>

<p align="center"> </p>

<p align="center"><a href="http://txtchat.netfocus.com.br"><font face="Arial, Helvetica, sans-serif">Página

oficial do TXTChat</font></a></p>

</body>

</html>

 

Tem dois requires um para chat.inc.php e outro para func_inc.php

 

chat.inc.php

 

<?

class chat{

function chat(){

$this->path = "salas/";

$this->timeout = 15;

$this->MsgEntrada = "entrou na sala...";

$this->MsgSaida = "saiu da sala.";

 

/*Tipos de Mensagens*/

$this->type[0] = "fala para";

$this->type[1] = "pergunta para";

$this->type[2] = "responde para";

$this->type[3] = "concorda com";

$this->type[4] = "discorda de";

$this->type[5] = "desculpa-se com";

$this->type[6] = "surpreende-se com";

$this->type[7] = "murmura para";

$this->type[8] = "sorri para";

$this->type[9] = "suspira por";

$this->type[10] = "flerta com";

$this->type[11] = "ri de";

$this->type[12] = "dá um fora em";

$this->type[13] = "briga com";

$this->type[14] = "grita com";

$this->type[15] = "xinga";

 

/*sons*/

$this->Sound[0] = "acelera.wav";

$this->Sound[1] = "aplausos.wav";

$this->Sound[2] = "assobio.wav";

$this->Sound[3] = "barulho.wav";

$this->Sound[4] = "beijo.wav";

$this->Sound[5] = "brinde.wav";

$this->Sound[6] = "despertador.wav";

$this->Sound[7] = "gritos.wav";

$this->Sound[8] = "latido.wav";

$this->Sound[9] = "miado.wav";

$this->Sound[10] = "mugido.wav";

$this->Sound[11] = "musica.wav";

$this->Sound[12] = "risadas.wav";

$this->Sound[13] = "vaias.wav";

 

/*descricao das imagens*/

$this->DescImg[0] = "Assustado";

$this->DescImg[1] = "Bocejo";

$this->DescImg[2] = "Careta";

$this->DescImg[3] = "Dentuço";

$this->DescImg[4] = "Desejo";

$this->DescImg[5] = "Eca!";

$this->DescImg[6] = "Gargalhada";

$this->DescImg[7] = "Indeciso";

$this->DescImg[8] = "Louco";

$this->DescImg[9] = "Na praia";

$this->DescImg[10] = "Ohhh!";

$this->DescImg[11] = "OK!";

$this->DescImg[12] = "Piscada";

$this->DescImg[13] = "Raiva";

$this->DescImg[14] = "Smack!";

$this->DescImg[15] = "Sorrizo";

$this->DescImg[16] = "Zangado";

 

/*arquivo de imagens*/

$this->FileImg[0] = "i38.gif";

$this->FileImg[1] = "i27.gif";

$this->FileImg[2] = "i23.gif";

$this->FileImg[3] = "i30.gif";

$this->FileImg[4] = "i18.gif";

$this->FileImg[5] = "i31.gif";

$this->FileImg[6] = "i32.gif";

$this->FileImg[7] = "i33.gif";

$this->FileImg[8] = "i34.gif";

$this->FileImg[9] = "i28.gif";

$this->FileImg[10] = "i25.gif";

$this->FileImg[11] = "i20.gif";

$this->FileImg[12] = "i36.gif";

$this->FileImg[13] = "i37.gif";

$this->FileImg[14] = "i19.gif";

$this->FileImg[15] = "i21.gif";

$this->FileImg[16] = "i26.gif";

}

 

function sinal(){

$fd = fopen($this->path . $this->sala . ".sts", "a+");

fputs($fd, $this->usuario . "|" . time() . "\n");

fclose($fd);

$this->atualiza_status();

}

 

function atualiza_status(){

$arquivo = $this->path . $this->sala . ".sts";

$fd = fopen($arquivo, "r");

$conteudo = fread($fd, filesize($arquivo));

fclose($fd);

$ar_lines = explode("\n", $conteudo);

for($i=0;$i<count($ar_lines)-1;$i++){

$dados = explode("|", $ar_lines[$i]);

$nome = $dados[0];

$time = $dados[1];

if($time + $this->timeout > time()){

$n = count($usuarios);

$usuarios[$n]["nome"] = $nome;

$usuarios[$n]["time"] = $time;

}

else

$usuarios_fora[] = $nome;

}

$fd = fopen($arquivo, "w");

for($i=0;$i<count($usuarios);$i++)

fputs($fd, $usuarios[$i]["nome"] . "|" . $usuarios[$i]["time"] . "\n");

fclose($fd);

 

//verifico se os usuarios que estao fora, estão tambem no array de usuario, se nao estiverem, é pq saiu mesmo.

for($i=0;$i<count($usuarios);$i++){

if(!$this->ContidoArray($usuarios[$i]["nome"], $n_usuarios))

$n_usuarios[] = $usuarios[$i]["nome"];

}

$usuarios = $n_usuarios;

unset($n_usuario);

 

if(count($usuarios)) $usuarios = array_unique($usuarios);

if(count($usuarios_fora)) $usuario_fora = array_unique($usuarios_fora);

if(count($usuarios) and count($usuarios_fora)){

for($i=0;$i<count($usuarios_fora);$i++){

if(!$this->ContidoArray($usuarios_fora[$i], $usuarios))

$this->mensagem_saida_usuario($usuarios_fora[$i]);

}

}

}

 

function existe_usuario($usuario=""){

if(!$usuario) $usuario = $this->usuario;

$usuarios_online = $this->usuarios();

for($i=0;$i<count($usuarios_online);$i++)

$usuarios_online[$i] = strtolower($usuarios_online[$i]);

if($this->ContidoArray(strtolower($usuario), $usuarios_online))

return true;

else

return false;

}

 

function remove_usuario($usuario){

$arquivo = $this->path . $this->sala . ".sts";

$fd = fopen($arquivo, "r");

$conteudo = fread($fd, filesize($arquivo));

fclose($fd);

$ar_lines = explode("\n", $conteudo);

for($i=0;$i<count($ar_lines)-1;$i++){

$dados = explode("|", $ar_lines[$i]);

$nome = $dados[0];

$time = $dados[1];

if($nome != $usuario){

$n = count($usuarios);

$usuarios[$n]["nome"] = $nome;

$usuarios[$n]["time"] = $time;

}

}

$fd = fopen($arquivo, "w");

for($i=0;$i<count($usuarios);$i++)

fputs($fd, $usuarios[$i]["nome"] . "|" . $usuarios[$i]["time"] . "\n");

fclose($fd);

$this->mensagem_saida_usuario($usuario);

}

 

function mensagem_entrada_usuario($usuario){

$dados["de"] = $usuario;

$dados["para"] = "";

$dados["mensagem"] = $this->MsgEntrada;

$dados["privativa"] = "";

$dados["tipo"] = 0;

$dados["imagem"] = "";

$dados["som"] = "";

$this->postar_mensagem($dados);

}

 

function mensagem_saida_usuario($usuario){

$dados["de"] = $usuario;

$dados["para"] = "";

$dados["mensagem"] = $this->MsgSaida;

$dados["privativa"] = "";

$dados["tipo"] = 0;

$dados["imagem"] = "";

$dados["som"] = "";

$this->postar_mensagem($dados);

}

 

function usuarios(){

$arquivo = $this->path . $this->sala . ".sts";

$fd = fopen($arquivo, "r");

$conteudo = fread($fd, filesize($arquivo));

fclose($fd);

$ar_lines = explode("\n", $conteudo);

for($i=0;$i<count($ar_lines)-1;$i++){

$dados = explode("|", $ar_lines[$i]);

$nome = $dados[0];

if(!$this->ContidoArray($nome, $usuarios))

$usuarios[count($usuarios)] = $nome;

}

return $usuarios;

}

 

function existe_mensagens($qtdmsgs){

if(!$qtdmsgs) return true;

$qtd_linhas = $this->qtd_linhas();

if($qtd_linhas > $qtdmsgs) return true;

else return false;

}

 

function obter_mensagens($qtdmsgs){

if(!$qtdmsgs) return;

 

$chaves = "de,para,mensagem,privativa,tipo,imagem,som";

$chaves = explode(",",$chaves);

 

$arquivo = $this->path . $this->sala . ".cho";

$fd = fopen($arquivo, "r");

$conteudo = fread($fd, filesize($arquivo));

$ar_lines = explode("\n", $conteudo);

for($i=$qtdmsgs-1;$i<count($ar_lines)-1;$i++){

$tmp_dados = explode("|", substr($ar_lines[$i], 0, -1));

for($j=0;$j<count($chaves);$j++)

$dados[$chaves[$j]] = $tmp_dados[$j];

$ar[count($ar)] = $dados;

}

 

return $ar;

}

 

function mensagem_propria($usuario){

if($usuario == $this->usuario) return true;

else return false;

}

 

function desconecta_usuario(){

$arquivo = $this->path . $this->sala . ".sts";

$fd = fopen($arquivo, "r");

$conteudo = fread($fd, filesize($arquivo));

fclose($fd);

$ar_lines = explode("\n", $conteudo);

for($i=0;$i<count($ar_lines)-1;$i++){

$dados = explode("|", $ar_lines[$i]);

$nome = $dados[0];

$time = $dados[1];

if($this->usuario!=$nome){

$n = count($usuarios);

$usuarios[$n]["nome"] = $nome;

$usuarios[$n]["time"] = $time;

}

}

$fd = fopen($arquivo, "w");

for($i=0;$i<count($usuarios);$i++)

fputs($fd, $usuarios[$i]["nome"] . "|" . $usuarios[$i]["time"] . "\n");

fclose($fd);

$this->cria_arquivo_usuarios();

}

 

function postar_mensagem($dados){

$chaves = array_keys($dados);

for($i=0;$i<count($chaves);$i++){ $dados[$chaves[$i]] = $this->LimparBarras($dados[$chaves[$i]]);}

for($i=0;$i<count($chaves);$i++)

$msg.=$dados[$chaves[$i]]."|";

$msg.="\n";

$arquivo = $this->path . $this->sala . ".cho";

$fd = fopen($arquivo, "a");

fputs($fd, $msg);

fclose($fd);

}

 

function qtd_linhas(){

$arquivo = $this->path . $this->sala . ".cho";

$fd = fopen($arquivo, "r");

$conteudo = fread($fd, filesize($arquivo));

$ar_lines = explode("\n", $conteudo);

return count($ar_lines);

}

 

function salas(){

$dir = opendir("salas");

$i=0;

while($files = readdir($dir))

if(substr($files, strlen($files) - 3)=="cho"){

$salas[$i] = substr($files, 0, strlen($files)-4);

$i++;

}

if(count($salas)!=0) sort($salas);

return $salas;

}

 

function ContidoArray($item, $array){

for($i=0;$i<count($array);$i++){

if($item==$array[$i])

return true;

}

return false;

}

function LimparBarras($t){

return str_replace("|", " ", $t);

}

}

?>

 

func_inc.php

 

<?

function DropListAcoes($type){

global $path_chat;

$c = new chat;

$c->path = $path_chat;

$ar_acoes = $c->type;

for($i=0;$i<count($ar_acoes);$i++)

$ar_drop = add_array($ar_drop, $ar_acoes[$i], $i);

return drop_down_array("tipo", $ar_drop, $type, 1);;

}

 

function DropListSounds(){

global $path_chat;

$c = new chat;

$c->path = $path_chat;

$ar_sounds = $c->Sound;

$ar_drop = add_array($ar_drop, "enviar som: ", "", 0);

for($i=0;$i<count($ar_sounds);$i++){

$nome_som = strtoupper(substr($ar_sounds[$i], 0,1)) . substr($ar_sounds[$i], 1, strlen($ar_sounds[$i]) - 5);

$ar_drop = add_array($ar_drop, $nome_som, $ar_sounds[$i]);

}

return drop_down_array("som", $ar_drop, "", 1);;

}

 

function DropListImages(){

$c = new chat;

$ar_images = $c->FileImg;

$ar_names = $c->DescImg;

$ar_drop = add_array($ar_drop, "enviar imagem: ", "", 0);

for($i=0;$i<count($ar_images);$i++)

$ar_drop = add_array($ar_drop, $ar_names[$i], $ar_images[$i]);

return drop_down_array("imagem", $ar_drop, "", 1);;

}

 

function DropListUsuarios($sala, $to){

$c = new chat;

$c->sala = $sala;

$ar_usuarios = $c->usuarios();

$ar_drop = add_array($ar_drop, "TODOS(".count($ar_usuarios).")", "", 0);

for($i=0;$i<count($ar_usuarios);$i++)

$ar_drop = add_array($ar_drop, $ar_usuarios[$i]);

return drop_down_array("para", $ar_drop, $to, 1);

}

 

function Formulario($sala){

global $usuario, $private, $para, $sala, $tipo;

 

if($private)

$ckeck_private = '<input type="checkbox" name="private" value="1" checked>';

else

$ckeck_private = '<input type="checkbox" name="private" value="1">';

 

$t = new template;

$t->LoadTemplate("post.htm");

$t->UpdateVar("drop_down_acoes", DropListAcoes($tipo));

$t->UpdateVar("usuario", $usuario);

$t->UpdateVar("sala", $sala);

$t->UpdateVar("drop_down_usuarios", DropListUsuarios($sala, $para));

$t->UpdateVar("drop_down_som", DropListSounds());

$t->UpdateVar("drop_down_images", DropListImages());

$t->UpdateVar("check_private" , $ckeck_private);

$t->UpdateVar("sala", $sala);

return $t->GetCode();

}

 

function drop_down_array($nome_campo, $array, $selecionado="", $retorno=0){

$output.='<select name="'.$nome_campo.'" class="textbox">';

for($i=0;$i<count($array);$i++)

$output.='<option value="'.$array[$i][0].'"'.igual($array[$i][0],$selecionado).'>'.$array[$i][1].'</option>';

$output.='</select>';

if($retorno)

return $output;

else

echo $output;

}

 

function add_array($array, $vlr, $exibe="", $muda=1){

if(!strlen($exibe)){

if($muda)

$exibe = $vlr;

}

$tamanho = count($array);

$array[$tamanho][0] = $exibe;

$array[$tamanho][1] = $vlr;

return $array;

}

 

function igual($v1, $v2){

if($v1==$v2)

return " selected ";

}

 

/**************************************************************************/

function RetirarQuebraLinha($string){

$ar = explode("\n", $string);

for($i=0;$i<count($ar);$i++)

$output.=$ar[$i];

return $output;

}

 

function GetOutPutMessages($mensagens){

for($i=0;$i<count($mensagens);$i++)

$output.= GetMessage($mensagens[$i]);

return $output;

}

 

function GetMessage($dados, $force=0){

global $usuario;

 

$obj = new chat;

 

/********************************************************************************

 

**/

/*caso a mensagem seja do proprio usuario, e nao for mensagem de saida ou entrada, retorno sem fazer nada*/

if(!$force)

if($dados["de"] == $usuario and !($dados["mensagem"]==$obj->MsgEntrada or $dados["mensagem"]==$obj->MsgSaida)) return;

 

/********************************************************************************

 

**/

/*caso nao tenha conteudo na mensagem, imagem, ou som, saio retorno sem fazer nada*/

if(!strlen($dados["mensagem"]) and !strlen($dados["imagem"]) and !strlen($dados["som"]))

return;

 

/********************************************************************************

 

**/

/*previne a exibicao de mensagens privadas para quem não é destinatario da mensagem*/

if($dados["privativa"])

if($dados["para"]!=$usuario and $dados["de"]!=$usuario and $dados["para"])

return;

/********************************************************************************

 

**/

 

$output = '<p>';

if(($dados["para"]==$usuario or $dados["de"]==$usuario) and $dados["mensagem"]!="")

$output.= H_Table();

$output.= TimeMessage(date("H:m:i"));

$output.= NomeFrom($dados["de"]);

$output.= PrivateMessage($dados["privativa"]);

$output.= TipoMessage($obj->type[$dados["tipo"]], $dados["para"], $dados["privativa"]);

$output.= NomeTo($obj->type[$dados["tipo"]], $dados["para"], $dados["privativa"]);

$output.= Message($dados["mensagem"], $obj->type[$dados["tipo"]]);

if(($dados["para"]==$usuario or $dados["de"]==$usuario) and $dados["mensagem"]!="")

$output.=F_Table();

$output.= '</p>';

 

/*exibe a imagem caso enviada*/

if($dados["imagem"])

$output.='<p><blockquote>   <img src="images/'.$dados["imagem"].'"></blockquote>';

 

/*toca som caso enviado*/

if($dados["som"])

$output.='<script>parent.PlaySound("sounds/'.$dados["som"].'");</sc\'+\'ript>';

 

return $output;

}

 

function H_Table(){

return '<table bgcolor="#D8D8D8" cellspacing="0" cellpadding="3" border="0"><tr><td>';

}

 

function F_Table(){

return '</td></tr></table>';

}

 

function NomeFrom($var){

global $usuario;

$output = '<b>' . $var . '</b>';

return $output;

}

 

function PrivateMessage($private){

if($private)

return '<i> reservadamente </i>';

}

 

function TimeMessage($var){

return '<small>('.$var.') </small>';

}

 

function TipoMessage($tipo, $to, $private){

if($tipo=="fala para" and !$to and !$private)

return;

return " <i>" . $tipo . ' </i>';

}

 

function NomeTo($tipo, $to, $private){

if(!$to){

if($tipo=="fala para" and !$private)

return ': ';

else

return 'TODOS: ';

}

return $to . ': ';

}

 

function Message($msg, $type){

if($type=="grita com")

return '<font size=+2>'.$msg.'</font>';

else

return $msg;

}

 

/********************************************************************************

 

**************************************************/

class template{var $code;function template($caminho=""){if(strlen($caminho)>256){$this->PutCode($caminho);return;}if(strlen($caminho)!=0){if(!file_exists($caminho))$this-PutCode($caminho);else$this->LoadTemplate($caminho);}}function LoadTemplate($caminho){if(strlen($caminho)>256){$this->PutCode($caminho);$this->CleanTemplate();return;}if(!strlen($caminho))exit("Não nformado o arquivo de template");if(!file_exists($caminho))exit("O arquivo de template <b>".$caminho."</b> não foi encontrado." );$fd=fopen($caminho,"r");$this->code=fread($fd,filesize($caminho));$this->CleanTemplate();fclose ($fd);}function CleanTemplate(){$this->code=str_replace("<!-- ","<!--",$this->code);$this->code=str_replace(" -->","-->",$this->code);$this->code=str_replace("<!--","<!--",$this->code);$this->code=str_replace("-->","-->",$this->code);}function UpdateVar($nome_var,$valor_var){$nome_var="<!--".$nome_var."-->";$this->code=str_replace($nome_var,$valor_var,$this->code);}function chaPosicao($str){return strpos($this->code,$str);}function LoadBlock($block){if(!strlen($this->code))exit("Template não carregado");$start_pos=$this->AchaPosicao("<!--inicio_".$block."-->")+14+strlen($block);$finish_pos=$this->AchaPosicao("<!--fim_".$block."-->");if(!$start_pos or !$finish_pos)exit("Bloco <b>" . $block . "</b> não encontrado");return substr($this->code,$start_pos,$finish_pos - $start_pos);}function UpdateBlock($block,$var){while(true){$start_pos=$this->AchaPosicao("<!--inicio_".$block."-->");$finish_pos=$this->AchaPosicao("<!--fim_".$block."-->")+11+strlen($block);if(!$start_pos or !$finish_pos)return;$header=substr($this->code,0,$start_pos);$footer=substr($this->code,+$finish_pos);$this->code=$header.$var.$footer;}}function RemoveBlock($block){$this->UpdateBlock($block,"");}function GetCode(){return $this->code;}function PutCode($codigo){$this->code=$codigo;}function Campos(){$codigo=$this->code;$pos_inicial=0;$i=0;$tamanho=strlen($codigo);while(true){$pos_ini_char=strpos($codigo,"<!--",$pos_inicial);if(!is_integer($pos_ini_char))break;$pos_ini_char+=4;$pos_fim_char=strpos($codigo,"-->",$pos_ini_char);if(!is_integer($pos_fim_char))exit("Template informado com sintaxe inválida,não foi possível determinar os campos.");$elemento[$i]=substr($codigo,$pos_ini_char,$pos_fim_char - $pos_ini_char);$i++;$pos_inicial=$pos_fim_char+3;}return $elemento;}function ExisteVar($nome){$string="<--".$nome."-->";if(!strlen(strpos($this->codigo,$string)))return false;else return true;}function ExisteBlock($nome){$string1="<--inicio_".$nome."-->";$string2="<--fim_".$nome."-->";if(!strlen(strpos($this->codigo,$string1)) or !strlen(strpos($this->codigo,$string2)))return false;else return true;}function ResetVars(){$campos=$this->Campos();for($i=0;$i<count($campos);$i++)$this->UpdateVar($campos[$i],"");}}

?>

Também tem outros arquivos. Mas como principal há esse:

 

chat.php

 

<?

session_start();

require("chat.inc.php");

 

//removo as vars registradas

session_unregister("html_carregado");

session_unregister("qtdmsgs");

session_register("qtdmsgs"); //registro a variavel q conta as mensagens

 

//crio o objeto e defino as configuracoes

$obj = new chat;

$obj->sala = $sala;

$obj->usuario = $usuario;

if($obj->existe_usuario()){

header("Location: index.php?msg=" . urlencode("Já existe um usuário com este nome na sala, por favor, escolha outro nome."));

exit();

}

$obj->sinal();

$obj->atualiza_status();

 

$qtdmsgs = $obj->qtd_linhas();

 

$obj->mensagem_entrada_usuario($usuario);

?>

<script language="Javascript" src="script_js.php?sala=<?echo $sala?>&usuario=<?echo $usuario?>"></script>

<title>TXTChat</title>

<frameset rows="0,70,*,80" cols="*" frameborder="no" border="0">

<frame src="trafego.php?sala=<?echo $sala?>&usuario=<?echo $usuario?>" name="trafego" frameborder="no" scrolling="default" noresize border="0">

<frame src="topo.php?sala=<?echo $sala?>&usuario=<?echo $usuario?>" name="topo" frameborder="no" noresize scrolling="no" border="0">

<frame src="mensagens.htm" name="mensagens" frameborder="no" scrolling="yes" noresize border="0">

<frame src="post.php?sala=<?echo $sala?>&usuario=<?echo $usuario?>" frameborder="no" scrolling="no" noresize border="0">

</frameset><noframes></noframes>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.