Ir ao conteúdo
  • Cadastre-se

Livro de visitas


maumau_ns

Posts recomendados

Bom, galera devido a grande procura por um livro de visitas feito em Flash MX + PHP

Eu pesquisei na net e encontrei este tutorial todo em inglês,

Como tinha certeza que todos iriam ter dificuldades em aprendê-lo resolvi traduzi-lo

Vamos deixar de conversa e vamos ao que interessa...

Primeiramente vamos começar pelo FLASH MX

Abra um novo documento com tamanho 750 x 370 fundo branco

Vamos começar pela parte onde serão carregadas as variaveis de nosso guestbook.

Crie uma camada chamada de “fundo” e desenhe um quadrado do tamanho 411x359

Crie uma nova camada chamada de “texto de entrada” e crie um campo de texto dinâmico com extensões 379x295 e coloque-o como “multilinha” e variável “GuestBook”.

Segunda parte o MovieClip que vai enviar as variáveis para o PHP.

Crie uma nova camada chamada “botões” e desenhe um quadrado com tamanho de 313x216, aperte F8 e transforme-o em MovieClip nome-o de “enterdata” sem aspas. Dentro desse MovieClip insira 3 campos de “texto de entrada” um abaixo do outro.

O primeiro campo deixe-o como “única linha” e variável “Name” sem aspas.

O segundo campo deixe-o como “única linha” e variável “Email” sem aspas.

O terceiro campo deixe-o como “multilinha” e variável “Comments” sem aspas.

Depois aperte alt+F8 e crie um botão com extensões 127x17 chame-o de “FormButtonMain” (este nos vamos precisar varias vezes).

Dentro ainda do MovieClip “enterdata” organize todos os campos de texto aperte F11 e coloque dois botões no pauco no botão da direita coloque um texto em cima dele como ‘Postar” e no outro ponha “apagar tudo” . Crie um novo frame e coloque um campo de texto dinâmico com variável “Name” e crie uma mensagem tipo “obrigado por ter deixado uma mensagem”, e coloque um botão nele também com um texto escrito “escrever outro”.

No botão “postar” coloque a seguinte ação.

on (release) {

if (Name eq "") {

_root.Status = "Por Favor escreva seu nome";

} else if (Email eq "") {

_root.Status = "Por Favor escreva seu e-mail";

} else if (Comments eq "") {

_root.Status = "Tem certeza que não vai escrever nenhum comentario?";

} else {

Submit = "Yes";

NumHigh = 10;

NumLow = 0;

_root.GuestBook = "Processando.. Carregando Novo... ";

loadVariablesNum ("GuestBook.php", 0, "POST");

_root.Status = "Seu comentario foi adicionado com sucesso. Confira imediatamente. Obrigado";

gotoAndStop (2);

}

}

No botão “Apagar Tudo” coloque a ação

on (release) {

Name = "";

Email = "";

Comments = "";

}

No botão de segundo frame ponha a seguinte ação

on (release) {

prevFrame();

Name = "";

Email = "";

Comments = "";

}

Volte a timeline Principal

Crie uma nova camada chamada de Status e coloque um campo de texto dinâmico “multilinha” com variável “Status”

Coloque mais 2 botões abaixo do “texto de entrada” (que ira receber as variáveis), coloque textos neles de 10 próximos e no outro de últimos 10

Coloque a ação no botão 10 próximos.

on (release) {

NumLow = Number(NumLow)+Number(10);

NumHigh = Number(NumHigh)+Number(10);

GuestBook = "Loading Comments Numbered "+NumLow+" to "+NumHigh+" Please Hold";

loadVariablesNum ("GuestBook.php?NumLow="+NumLow+"&NumHigh="+NumHigh+"&R="+random(999), 0);

}

Coloque a ação no botão 10 últimos.

on (release) {

if (NumLow == "0") {

GuestBook = "No more before 0";

}

else {

NumLow = Number(NumLow) - Number(10);

NumHigh = Number(NumHigh) - Number(10);

GuestBook = "Loading Comments Numbered "+NumLow+" to "+NumHigh+" Please Hold";

loadVariablesNum ("GuestBook.php?NumLow="+NumLow+"&NumHigh="+NumHigh+"&R="+random(999), 0);

}

}

Crie uma nova camada chamada de ScrollComponentes

Crie dois botões chamados de ScrollButtonUp e ScrollButtonDown e crie também uma barrinha com espessura 13x27 transforme-a em MovieClip coloque a o nome de “myscroll3” e instancie-o com o mesmo nome, sem aspas.

No botão ScrollButtonUp coloque a ação

on (release) {

GuestBook.scroll--;

if (myscroll3._y>myscroll3.top) {

myscroll3._y = myscroll3._y-((200-myscroll3._height)/5);

}

}

No botão ScrollButtonDown coloque a ação

on (release) {

GuestBook.scroll++;

if (myscroll3._y<(170-myscroll3._height+myscroll3.top)) {

myscroll3._y = myscroll3._y+((200-myscroll3._height)/5);

}

}

E no MovieClip “myscroll3” coloque a ação

onClipEvent (load) {

_height = 110;

top = _y;

left = _x;

right = _x;

bottom = _y+(275-_height);

}

onClipEvent (enterFrame) {

if (dragging == true) {

_root.GuestBook.scroll = 1+int((_y-top)*50/(300-_height));

}

}

obs.: Não se esqueça de colocar a barrinha no meio dos dois botões na diagonal.

Ainda na time Line Principal

Crie três campos de texto dinâmico

No primeiro coloque a variável nele como “NumLow”

No segundo coloque a variável nele como “NumHigh”

No terceiro coloque a variável nele como “TotalEntries”

Obs .: Os dois primeiros campos coloque-os um do lado do outro, esses campos vão nos mostrar qual pagina do livro estamos, no outro nos falara qual o numero total de mensagens que foram postadas.

Vamos ao mais difícil agora ao código PHP.

Abra um editor de sua escolha pode ser qualquer um (Dreamweaver ou bloco de notas).

Insira este código.

<?php

// Se você esta usando um servidor PHP antigo, remova as linhas abaixo.

// ou use $HTTP_POST_VARS["..."] .

$Submit = $_POST["Submit"];

$Name = $_POST["Name"];

$Email = $_POST["Email"];

$Comments = $_POST["Comments"];

$NumLow = $_REQUEST["NumLow"];

$NumHigh = $_REQUEST["NumHigh"];

// Retire os caracteres especiais - você pode remover as 3 linhas abaixo se você quiser.

$Nome = ereg_replace("[^A-Za-z0-9 ]", "", $Name);

$Email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Email);

$Comentarios = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Comments);

// Remova as barras verticais.

$Name = stripslashes($Name);

$Email = stripslashes($Email);

$Comments = stripslashes($Comments);

// ###################################################################################

// ########## Lendo e copiando a nova data para o GuestBook Database #############

if ($Submit == "Yes") {

// Proxima Linha diz ao scrit qual arquivo de texto carregar.

$filename = "GuestBook.txt";

// Depois de ler abra o arquivo declarado.

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

$OldData = fread($fp, 80000);

fclose( $fp );

// Coloca a data que o comentario foi escrito.

$Hoje = (date ("l dS of F Y ( h:i:s A )",time()));

// Puts the recently added data into html format that can be read into the Flash Movie.

// You can change this up and add additional html formating to this area. For a complete listing of all html tags

// you can use in flash - visit: http://www.macromedia.com/support/flash/ts...ts/htmltext.htm

$Input = "Nome: $Nome

Email: <a href=\"mailto:$Email\">$Email</a>

Comentarios: $Comentarios

<font size=\"-1\">Data: $Hoje</font>

.:::.";

/* Esta linha adiciona ao '&GuestBook=' parte da frente da data que foi escrito no arquivo de texto.

//Isto é muito importante porque sem isso Flash movie não poderá assinar as variaveis 'GuestBook' para o valor que esta gravado no arquivo de texto. */

$New = "$Input$OldData";

// Abre e grava os arquivos.

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

if(!$fp) die("&GuestBook=cannot write $filename ......&");

fwrite($fp, $New, 800000);

fclose( $fp );

}

// ###################################################################################

// ######### Formatando e gravando a Data do Guestbook para o Flash Movie ##

// Esta linha diz ao script qual arquivo de texto abrir.

$filename = "GuestBook.txt";

// Lê e abre os arquivos declarados

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

$Data = fread($fp, 800000);

fclose( $fp );

// Captura a data no momento exato que foi escrito .:::.

$DataArray = split (".:::.", $Data);

// Conta quantos recados foram gravados no livro.

$NumEntries = count($DataArray) - 1;

print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";

for ($n = $NumLow; $n < $NumHigh; $n++) {

print $DataArray[$n];

if (!$DataArray[$n]) {

Print "

Não há comentarios";

exit;

}

}

?>

Salve o documento como GuestBook.php

Crie um documento GuestBook salve-o como texto

Coloque todos os arquivos em uma mesma pasta.

Teste em servidor PHP. Eu uso o EasyPHP

Qualquer outra duvida mande-me um e-mail...

Coloquem ai no topico se ocorreu tudo direitinho...

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...