/*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*/
// 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.
/*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)*/
/*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
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
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.