Jump to content
Fórum Script Brasil
  • 0

Mural De Recados


Guest Kelly Web
 Share

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...