Ir para conteúdo
Fórum Script Brasil
  • 0

Mural De Recados


Guest Kelly Web

Pergunta

Guest Kelly Web

Olá Profissionais da WEB, mais uma vez estou aqui pedindo uma ajudinha a quem sabe!

Bom eu me mato em tutoriais mais nunca da certo, ou da algum errinho...

vamos lá a mais uma duvida!

Bom eu baixei um Fla de um mural de recados para colocar em meu site pessoal, para amigos ou quem visitar deixar recados e coisa e tal...

ele possui os seguintes arquivos:

comentarios - um documento de texto - tipo bloco de notas.

Php counter - um documento de texto - tipo bloco de notas.

contador - PHP - script.

grava_comentario - PHP - script.

le_texto_externo - PHP - script.

comments_mx - Fla - e o fla é logico.

No arquivo "Fla" temos o seguinte:

stop();

var teto = medidor.trilho._y;

var piso = medidor.trilho._height-medidor.slider._height;

var direita = medidor.slider._x;

var esquerda = medidor.slider._x;

/******************************função que envia data e hora para uma variável****************************/

function relogio(d) {

dia = d.getDate().toString();

mês = d.getMonth()+1;

ano = d.getFullYear();

data = ["00".substr(dia.length)+dia, mês, ano];

hora = d.toString().split(" ")[3];

return data.join("/")+" - "+hora;

}

function mostrar() {

_root.horario = relogio(new Date());

}

/****************************Funções que enviam os dados do flash para o php******************************/

bt_2.onRelease = function() {

mostrar();

if (comentario.text == "" || nome.text == "") {

aviso.text = "voce tem que preencher os dois campos";

/*todos os campos devem estar preenchidos*/

} else {

aviso.text = "enviando dados...";

/*status do arquivo enquanto envia os dados*/

lv_1 = new LoadVars();

/*Cria um objeto LoadVars para acionar o contador php*/

lv_1.load("contador.php");

lv_2 = new LoadVars();

/*Cria outro objeto LoadVars para enviar os dados digitados pelo visitante para

que o php possa ler e gravar no txt*/

lv_2.comentario = comentario.text;

/*estas são as tres variáveis enviadas pelo flash: comentario, nome e data_hora*/

lv_2.nome = nome.text;

lv_2.data_hora = _root.horario;

lv_2.onLoad = function() {

gotoAndStop(this.resposta == "OK" ? "success" : "error");

};

/*Recebe a resposta do php e envia o flash para o frame certo, de acordo com a resposta*/

lv_2.sendAndLoad("grava_comentario.php", lv_2, "POST");

nome.text = "";

comentario.text = "";

}

};

lv_3 = new LoadVars();/*Outro objeto LoadVars para ler num txt a quantidade de posts gravados pelo php*/

lv_3.onLoad = function() {

_root.contagem = this.Count;

};

lv_3.load("PHPCounter.txt");

/****************************** Função que le os dados através de um php *****************************/

function leDados() {

listagem.text = "";

/*zera o conteúdo das caixas de texto*/

nome.text = "";

comentario.text = "";

lv_4 = new LoadVars();

/*Cria outro objeto LoadVars para ler os dados do php*/

lv_4.onLoad = function() {

aviso.text = "listagem atualizada,"+newline+Math.floor(_root.contagem)+" comentários postados";

listagem.htmlText = this.texto_final;

/*Le a variável disponibilizada pelo php e exibe seu conteúdo na caixa de texto*/

};

lv_4.load("le_texto_externo.php");

onEnterFrame = function () {

// Uma pequena função para informar que os dados estão sendo caregados

if (lv_4.getBytesLoaded() == lv_4.getBytesTotal()) {

onEnterFrame = null;

} else {

aviso.text = "carregando dados...";

}

};

}

leDados();

/*A função é chamada sempe que entra este frame, isto faz com que ao clicar no botão voltar o flash atualize as informações sem que voce tenha que carregar novamente o swf*/

bt_1.onRelease = function() {

leDados();

/*A função também é chamada atraves do botão "atualizar"*/

};

/**********************************Funções que fazem o scroll****************************************/

/*Inicialmente uma função que vai ser comandada por setInterval para não entrar em conflito com o enterframe dos botões de scroll, é uma simples regra de três que localiza a posição do scroll do texto em relação a posição do "slider" que é o botão da barra de rolagem. Apenas acho importante que ela seja construída assim, com medidas relativas, nenhum número digitado nos valores, porque pode aumentar a quantidade de linhas do texto ou voce pode mudar de lugar ou o tamanho do seu scroll que ele funciona do mesmo jeito*/

function scroller() {

listagem.scroll = Math.round(medidor.slider._y*listagem.maxscroll)/(medidor.trilho._height-medidor.slider._height);

}

scrollSobe.onRollOver = function() {

onEnterFrame = function () {

listagem.scroll++;

// Aqui abaixo uma outra regra de tres que faz com que o "slider" se desloque também relativamente à posição do scroll do texto, explicando listagem.scroll é o número da linha que está sendo exibida na base da caixa de texto.

this.medidor.slider._y = Math.round((listagem.scroll*(this.medidor.trilho._height-this.medidor.slider._height))/listagem.maxscroll);

};

};

scrollSobe.onRollOut = function() {

onEnterFrame = null;

};

scrollDesce.onRollOver = function() {

onEnterFrame = function () {

listagem.scroll--;

this.medidor.slider._y = Math.round((listagem.scroll*(this.medidor.trilho._height-this.medidor.slider._height))/listagem.maxscroll);

};

};

scrollDesce.onRollOut = function() {

onEnterFrame = null;

};

medidor.slider.onPress = function() {

/*Um startDrag com área limitada pelas variáveis declaras lá no começo, todas também relativas para que voce possa mudar a barra de posição e tamanho sem ter que refazer o código. E a chamada da função que desloca o texto verticalmente com relação à posição do "slider", através do setInterval a intervalos bem curtos (5 milisegundos neste caso)*/

intervalo = setInterval(scroller, 5);

medidor.slider.startDrag(false, esquerda, teto, direita, piso);

};

medidor.slider.onRelease = function() {

stopDrag();

clearInterval(intervalo);

/*O clear intrval é importante porque se não houvesse como cancelar a função "scroller" o bloco de texto iria ficar "teimoso", os botões não iriam ter como retirá-lo da posição, pois a função "scroller" iria estar sendo chamada a cada 5 milisegundo conforme especificamos no setInterval e entaria em conflito com o enterframe chamado nos botões*/

};

No arquivo "contador" temos o seguinte:

<?php

$filename = "PHPCounter.txt";

$fp = fopen( $filename,"r");

$Old = fread($fp, 100);

fclose( $fp );

$Old = split ("=, $Old, 5);

$NewCount = $Old[1] + '1';

$New = "Count=$NewCount";

$fp = fopen( $filename,"w+");

if (flock($fp, 2)) {

fwrite($fp, $New, 100); }

fclose( $fp );

?>

No arquivo "grava_comentario" temos:

<?php

$filename="comentarios.txt"; //identifica o arquivo

$quebra="<br>"; //crio várias strings para montar o texto com formato

$variavel = "=========================<br>"; //tags html que o flash interpreta sem probelmas

$atamanho="<font size='9'>" ; //todas estas strings vão formar uma total que é gravada no txt

$ftamanho="</font>";

$abold="<b>";

$fbold="</b>";

$handle = fopen ($filename, "r"); //le o arquivo e transforma o conteúdo numa string

$conteudo_a = fread ($handle, filesize ($filename));

$texto=$_POST["comentario]; //recebe do flash estas tres variáveis via "post"

$nome=$_POST["nome"];

$marcador=$atamanho.$_POST["data_hora"].$ftamanho;

$mensagem = $texto.$quebra.$abold.$nome.$fbold.$quebra.$marcador.$quebra.$variavel.$conteudo_a ;

$fp = fopen($filename,w); //a string acima é o total que vai ser gravado no txt

if (fwrite($fp,$mensagem)) //atraves desta função

{die ("resposta=OK");} //se for feita a gravação dos dados envia para o flash uma resposta

else { die ("resposta=ERR");} //que vai enviar o swf para o frame especificado

fclose($fp);

fclose($handle);

?>

No arquivo "le_texto" temos:

<?php

$filename = "comentarios.txt";

$handle = fopen ($filename, "r"); //Abre, lê e transforma numa string o conteúdo

$conteudo = fread ($handle, filesize ($filename)); // do arquivo comentários.txt

$indesejado=array("&"); //identifica o caractere indesejado

$substituto=array("%26"); //identifica o caractere substituto

$novafrase= str_replace($indesejado, $substituto, $conteudo); //nesta função troca dentro da string

echo "&texto_final=$novafrase"; //o indesejado pelo substituto e cria uma nova string

fclose ($handle); //disponibiliza para o flash e fecha o arquivo txt.

?>

ACONTECE QUE QUANDO COLOCO PARA FUNCIONAL ONDE É PRA FICAR OS RECADOS FICA A MENSSAGEM ASSIM:

$novafrase"; //o indesejado pelo substituto e cria uma nova string

fclose ($handle); //disponibiliza para o flash e fecha o arquivo txt.

?>

SO ME FALTA ISSO PRA ME TERMINAR O SITE.

AJUDE - ME POR FAVOR,

bJOS E ATÉ MAIS RAPAZES....

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...