Академический Документы
Профессиональный Документы
Культура Документы
Vamos a tabela que vai receber os dados vindo do GuestBook. Caso queiram podem
adicionar mais campos. Abaixo segue a instrução SQL para criar nossa tabela no banco de
dados:
Com a tabela criada, vamos criar o arquivo PHP. Ele vai ser responsável por receber os
dados do Flash, enviar para o Banco de Dados, consultar o banco de dados para recuperar
os itens e criar o arquivo XML que iremos usar no Flash. Salve como guest.php.
1. <?php
2. /* Conectamos ao MySQL */
3. $connection = mysql_connect("seu host", "seu usuario", "sua senha") or die ('Erro
ao Conectar ao Banco de dados');
4. /* Selecionamos o Banco de Dados */
5. $db = mysql_select_db("tutoriais") or die ("Não foi possível localizar o banco de
dados");
6. /* Buscamos o nome, email e comentarios da tabela guestbook */
7. $consulta = mysql_query("SELECT id,nome,email,data,comentario FROM
guestbook ORDER BY id DESC");
8. /* Retorna o número de linhas do resultado */
9. $row=mysql_num_rows($consulta);
10. /* Verificamos se retornou algum resultado */
11. if($row>0){
12. /* Manda a mensagem para o Flash */
13. print "&erroMensagem=0";
14. /* Começamos a criar o arquivo XML */
15. $conteudo = "<?xml version='1.0'?><guest>";
16. /* Para cada item retornado */
17. for($i=0; $i<$row; $i++) {
18. /* Recuperamos os Nomes */
19. $nome = mysql_result($consulta,$i,"NOME");
20. /* Recuperamos os E-mails */
21. $email = mysql_result($consulta,$i,"EMAIL");
22. /* Recuperamos as Datas */
23. $data = mysql_result($consulta,$i,"DATA");
24. /* Recuperamos os Comentarios */
25. $comentario = mysql_result($consulta,$i,"COMENTARIO");
26. /* Inserimos os valores recuperados nas respectivas tags */
27. $conteudo .= "<dados><nome>";
28. $conteudo .= $nome;
29. $conteudo .= "</nome><email>";
30. $conteudo .= $email;
31. $conteudo .= "</email><data>";
32. $conteudo .= $data;
33. $conteudo .= "</data><comentario>";
34. $conteudo .= $comentario;
35. $conteudo .= "</comentario></dados>";
36. }
37. /* Fechamos a tag guest */
38. $conteudo .= "</guest>";
39. /* Se existir, abrimos o arquivo guest.xml para leitura e escrita */
40. /* Se não existir criamos o arquivo guest.xml */
41. $ponteiro = fopen("guest.xml", "w");
42. /* Escremos o conteúdo dentro do arquivo selecionado */
43. /* Codificamos para UTF8 os campos para não dar problemas com acentuação */
44. fwrite($ponteiro, utf8_encode($conteudo));
45. /* Fechamos o arquivo */
46. fclose($ponteiro);
47. /* Se não retornou nenhum resultado */
48. } else {
49. /* Manda a mensagem de erro para o Flash */
50. print "&erro=Não existe nenhum registro no Guestbook!&erroMensagem=1";
51. }
52. /* Selecionando a Ação */
53. $action = $_GET['action'];
54. /* Seleciona a Ação */
55. switch ("$action") {
56. /* Caso seja ação cadastrar */
57. case 'cadastrar':
58. /* Variáveis vindas do Flash pelo método POST */
59. /* Codificamos para ISO-8859-1 */
60. $nome = utf8_decode(@$_POST['nome']);
61. $email = utf8_decode(@$_POST['email']);
62. $comentario = utf8_decode(@$_POST['comentario']);
63. /* Deixamos a data com o formato Dia/Mes/Ano */
64. $data = date("d/m/Y");
65. /* Inserimos os dados no Banco de Dados */
66. $cadastra = mysql_query("INSERT INTO guestbook
(nome,email,data,comentario) VALUES ('$nome','$email','$data','$comentario')") or
die(mysql_error());
67. /* Manda a mensagem de Cadastro efetuado com Sucesso para o Flash */
68. print "&mensagem=Obrigado por Assinar o Guest Book&enviado=1";
69. break;
70. }
71. ?>
Chegou a hora de ir para o Flash. Comecei com um palco com dimenções de 300x350. A
disposição das camadas será assim:
Vamos posicionar nossos itens no primeiro frame. Os nomes em vermelho são as instancias
dos objetos:
vazio: MovieClip em branco, posicione na camada Conteúdo.
statusGuest: Campo de texto dinâmico, posicione na camada Conteúdo.
mascara: MovieClip, posicione na camada Máscara.
scrollBar: Componente criado, posicione na camada Conteúdo.
paginacao: MovieClip em branco, posicione na camada Conteúdo.
escrever: Componente Button, posicione na camada Conteúdo.
Vocês devem estar se perguntando. Que ScrollBar é esse. Esse ScrollBar foi criado por um
de nossos Colunistas, Hugo Ferreira da Silva. Nós vamos seguir as mesmas regras de
criação dos MovieClips. Para os que não conhecem ou não tenham criado, segue o Link do
Tutorial:
Nós iremos modificar o código dele. Substitua as ações dele por essas:
Reparem uma coisa. Criei o scrollBar com altura (height) de 250, então devo deixar o
campo Altura da Mascara com o tamanho do ScrollBar e o MovieClip máscara com o
mesmo tamanho, no caso, 250. O campo Alvo preenchemos com o MovieClip que
queremos que faça o scroll, e Altura da Barra, a altura do MovieClip track.
Agora, criaremos dois MovieClips, um vai ser responsável pelas páginas, e outro para
exibir as mensagens. Os nomes em vermelho são as instâncias dos objetos
1. /* Paramos o filme */
2. stop();
3. /* Definimos a ordem de tabulação */
4. nome.tabIndex = 1;
5. email.tabIndex = 2;
6. comentario.tabIndex = 3;
7. enviar.tabIndex = 4;
8. limpar.tabIndex = 5;
9. /* Criamos um LoadVars que manda as informações ao PHP */
10. var objManda:LoadVars = new LoadVars();
11. /* Ao pressionar do botão enviar */
12. enviar.onPress = function() {
13. /* Verificamos se o campo nome foi preenchido */
14. if (nome.text == "") {
15. /* Mostramos a mensagem de erro */
16. status_txt.text = "Informe seu Nome";
17. /* Se não, verificamos se o campo email foi preenchido */
18. } else if (email.text == "") {
19. /* Mostramos a mensagem de erro */
20. status_txt.text = "Informe seu E-mail";
21. /* Se não, verificamos se o campo email contém os caracteres @ e . */
22. } else if (email.text.indexOf("@") == -1 || email.text.indexOf(".") == -1) {
23. /* Mostramos a mensagem de erro */
24. status_txt.text = "Informe corretamente seu E-mail";
25. /* Se não, verificamos se o campo comentario foi preenchido */
26. } else if (comentario.text == "") {
27. status_txt.text = "Informe uma mensagem para enviar";
28. /* Se todos os campos estiverem corretos */
29. } else {
30. /* Mostramos o status de Enviando Mensagem */
31. status_txt.text = "Enviando Mensagem";
32. /* Mandamos ao PHP os valores */
33. /* O nome digitado no campo nome */
34. objManda.nome = nome.text;
35. /* O email digitado no campo email */
36. objManda.email = email.text;
37. /* O comentário digitado no campo comentario */
38. objManda.comentario = comentario.text;
39. /* Enviamos ao PHP os dados e carregamos as mensagens do PHP */
40. objManda.sendAndLoad("http://natan-
alves.t35.com/guestMx.php?action=cadastrar", objManda, "POST");
41. /* Ao carregar o arquivo PHP */
42. objManda.onLoad = function(ok) {
43. /* Se carregou sem problemas */
44. if (ok) {
45. /* Mostramos a mensagem vinda do PHP */
46. status_txt.text = this.mensagem;
47. /* Apagamos os campos input */
48. nome.text = "";
49. email.text = "";
50. comentario.text = "";
51. /* Chamamos a função volta */
52. intervalo = setInterval(volta, 2000);
53. }
54. };
55. }
56. };
57. /* Ao pressionar do Botão limpar */
58. limpar.onPress = function() {
59. /* Limpamos os campos input */
60. nome.text = "";
61. email.text = "";
62. comentario.text = "";
63. /* Limpamos o campo status_txt */
64. status_txt.text = "";
65. };
66. /* Função volta */
67. function volta() {
68. /* Voltamos ao primeiro frame */
69. gotoAndStop(1);
70. /* Acabamos com o intervalo */
71. clearInterval(intervalo);
72. }
73. /* Ao pressionar do botão voltar */
74. voltar.onPress = function() {
75. /* Voltamos ao primeiro frame */
76. gotoAndStop(1);
77. /* Acabamos com o intervalo */
78. clearInterval(intervalo);
79. };
Hoje aprendemos como criar GuestBook. Aprendemos como criar um arquivo XML a partir
de um código em PHP e como criar paginação no Flash. O ideal, sempre que possível
utilizar XML, pois facilitam e muito nossa vida quando vamos ao Flash.