Ir ao conteúdo
  • Cadastre-se
firewall_w

Flash + XML > PHP + mysql

Recommended Posts

olá pessoal, euestou desenvolvendo um projeto em flash que consiste em uma área de texto com um botão. na area de texto o usuario irá digitar o que quiser, apos deverá clicar no botao para salvar. Ai que começa o problema, eu presciso que este texto seja gravado no mysql, para quando o usuário fechar e abrir o programa o mesmo texto seja carregado nesta página, e também que se ele deseje altera-lo, faça-o e após tenha de clicar em salvar para modificalo no bd. To prescisando de um help, porque eu nao sei muita coisa sobre este tipo de interação.... HELP!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente você vai:

- pegar os dados no flash

- enviar/tratar/armazenar os dados no arquivo PHP

- receber a resposta do arquivo PHP no Flash (sucesso ou erro)

Essa comunicação ocorre com o 'sendAndLoad' no Flash. você já deu uma pesquisada no assunto?

Um exemplo:

Flash

 
// declaro
var envia:LoadVars = new LoadVars();

// dou um valor qualquer para testar
envia.campoTeste = "teste";

// esta função faz alguma coisa quando carregar o resultado
envia.onLoad = function () {
trace(envia.variavelTeste); // pedi somente pra apresentar o valor
}

// envio os dados para meu PHP por post
envia.sendAndLoad("dados.php", envia, "POST");

PHP (arquivo dados.php)

 
<?php

// pego minha variável enviada
$valorTeste = $_POST["campoTeste"];

// retorno o resultado para o flash (atenção no formato e no '&')
echo "&variavelTeste=$valorTeste";

?>

Se aparecer na tela o valor "teste", que é o valor que demos para a variável lá no flash, então ocorreu tudo OK.

Editado por netofire

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta, mas olhá só, cara tu me deu A LUZ, mas ainda to com uma duvida, até ai nos estamos com a variável do flash no php, certo? agora para armazenar no mysql, e depois se o cara fechar o flash, e depois reabri-lo, como ele vai dar um "reload", no mesmo arquivo do mysql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra pessoa poder ver os dados inseridos, ela deve ter logado e conseguido uma identificação única que vai servir de base para a consulta no mysql. Resumindo, um sistema de login simples.

Esse login você já pode fazer ele em flash. Imagine a situação:

- user digita seu nome e senha

- o flash envia isso ao php, que vai consultar no mysql

- o php responde ao flash com os dados dos campos (coletados no mysql) ou com uma informação de erro no login.

você vai usar o sendAndLoad da mesma maneira.

Existem outras maneiras de se conseguir isso, até com arquivos txt pode ser feito.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pra pessoa poder ver os dados inseridos, ela deve ter logado e conseguido uma identificação única que vai servir de base para a consulta no mysql. Resumindo, um sistema de login simples.

Esse login você já pode fazer ele em flash. Imagine a situação:

- user digita seu nome e senha

- o flash envia isso ao php, que vai consultar no mysql

- o php responde ao flash com os dados dos campos (coletados no mysql) ou com uma informação de erro no login.

você vai usar o sendAndLoad da mesma maneira.

Existem outras maneiras de se conseguir isso, até com arquivos txt pode ser feito.

cara até ai beleza, porém, como transformo isso em codigo?, e ainda, eu tava querendo usar mysql, pois achei que o flash nao conseguiria abrir um txt, me deixar edita-lo e depois salvar o novo txt para outrora abri-lo novamente, há como? se for possível acho que deve ser bem mais fácil, e mais aplicável ao meu projeto... grato desde já....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá pra fazer com o txt sim, mas eu particularmente não utilizo para armazenar nenhum dado cadastral ou confidencial. Normalmente utilizo para notícias ou posts de blog, por exemplo.

Se você for fazer o esquema do login no flash, você vai utilizar o sendAndLoad pro cara logar. No exemplo que eu dei, entre a entrada das variáveis e a resposta do PHP você faz o que quiser: conexão com banco, atualização, etc... A resposta do PHP pode vir através de um IF que testa se a consulta foi bem sucedida.

Um exemplo, aproveitando o mesmo exemplo anterior, mas supondo que o seu flash tenha o campo 'nome' e o campo 'senha'. Importante: eu não realizei nenhuma validação de nenhum campo!

 
// declaro
var envia:LoadVars = new LoadVars();

// pego os valores dos campos que eu criei e nomeei 'nomeUser' e 'senhaUser'

envia.nome = nomeUser.text;
envia.senha = senhaUser.text;

// esta função faz alguma coisa quando carregar o resultado
// é aqui que você dá continuidade dependendo da resposta
// no caso pedi apenas pra apresentar o resultado
envia.onLoad = function () {
trace(envia.variavelTeste);
}

// envio os dados para meu PHP por post
envia.sendAndLoad("dados.php", envia, "POST");

Arquivo dados.php

 
<?php

// inicio sessão
session_start();

// pego as variáveis enviadas
$nome = $_POST["nome"];
$senha = $_POST["senha"];

//conecto ao banco
$conexao=mysql_connect('hostSQL','userSQL','senhaSQL');
mysql_select_db('minhaDatabase', $conexao);

// gero uma query pra verificar se o user logou corretamente
$sql = mysql_query("SELECT count(id) FROM tabela_usuarios WHERE nome='$nome' AND senha='$senha';");

// mando resposta de 'erro' ou 'sucesso'
if(!mysql_result($sql,0)) {
$testeLogin = 'erro';
} else {
$testeLogin = 'sucesso';

// lá na frente, pra qualquer query você precisará de um identificador para
as consultas. No caso eu usei o nome supondo que ele é ÚNICO na tabela.
$_SESSION['nomeLogin'] = $nome;

}

// retorno o resultado para o flash (atenção no formato e no '&')
echo "&variavelTeste=$testeLogin";

?>

Lá no flash, dependendo da resposta que o PHP lhe enviar você terá que fazer algumas ações. Daí entra controle de movieclip, frames, etc.

Quando você for atualizar o processo é o mesmo, com a diferença somente na query.

Quando você quiser resgatar algum valor, a única coisa que muda é que ao invés de usar sendAndLoad você vai utilizar somente load, e dentro dos campos de texto dinâmico do seu formulário no flash, inserir os valores que o PHP te mandar. Neste, a parte final do PHP, ao invés de mandar um simples 'sucesso', pode mandar os valores dos campos.

 
.
.
.
<? echo 'nome=' . $nome ?>
<? echo '&idade=' . $idade ?>
<? echo '&naosei=' . $qualquer coisa ?>

O que eu te aconselho é: começa a fazer a vai fuçando. Tenta aqui, ali, etc. Conforme você tiver dificuldades e não conseguir resolver posta aqui que eu ou quem souber te ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você me deu A LUZ hehehe, gostei desse método vou dar uma tentada amanhã que hoje vou ter de ir... mas me tira só uma dúvida, as informações não são sigilosas, são apenas textos simples, então como eu faria no caso se usasse txt? fiquei interessado nele, pois quando meu projeto estiver pronto o clinte não prescisará ter conexão a net nem um mysql rodando no pc dele né, so com txt ficaria muuuito mais simples....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com o txt você tb vai utilizar o load, só que ele vai apontar para um arquivo txt ao invés de um arquivo php.

No arquivo php você manda um echo() com as variáveis e seus valores. No caso do txt você vai escrever somente, sem o echo().

Exemplo: nome=Dino da Silva Sauro

Ele pega os valores do mesmo jeito. A diferença aqui é que se você quiser gravar um valor no txt você vai ter que usar o php, não tem jeito, a não ser que você mude o arquivo na mão.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Com o txt você tb vai utilizar o load, só que ele vai apontar para um arquivo txt ao invés de um arquivo php.

No arquivo php você manda um echo() com as variáveis e seus valores. No caso do txt você vai escrever somente, sem o echo().

Exemplo: nome=Dino da Silva Sauro

Ele pega os valores do mesmo jeito. A diferença aqui é que se você quiser gravar um valor no txt você vai ter que usar o php, não tem jeito, a não ser que você mude o arquivo na mão.

tá beleza, mas dai como fica o meu php, ele recebe as variaveis do texto do flash ou do txt, ou eu faço flash > php > txt ? se for assim o codigo fica o mesmo so na hora de mandar ao invés de mysql mando pro txt? e como faço, deleto os valores e reescrevo de novo dentro do txt ou apenas modifico? cara se for possivel me da uma mão com esse codigo.... abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Flash vai LER do txt, mas ele não consegue gravar sozinho. Pra gravar no txt você vai precisar do php.

Se for só apresentação de algum texto, que normalmente não se altera, use o txt que compensa. Se forem dados melhor usar o esquema com mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites
O Flash vai LER do txt, mas ele não consegue gravar sozinho. Pra gravar no txt você vai precisar do php.

Se for só apresentação de algum texto, que normalmente não se altera, use o txt que compensa. Se forem dados melhor usar o esquema com mysql.

cara são textos, que não tem necessidade de proteção, mas que tem de ser alterados... (se o usuario quiser), me da so uma luz de como isso ficaria em php....

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso do txt em php você vai utilizar:

fopen() - para abrir o arquivo

fwrite() - para escrever no arquivo

Para se inteirar mais pesquise por essas duas funções chave para este processo e suas características.

Exemplo + simples possível:

 
<?php

$nomedoarquivo = 'teste.txt';
$conteudo = "Vamos adicionar este conteúdo\n";

// Vamos abrir o arquivo $nomedoarquivo em modo (a) de adição, ou seja,
// somente para escrita com o ponteiro do arquivo no final do arquivo,
// que é o lugar aonde irá o que está em $conteudo

$handle = fopen($nomedoarquivo, 'a');
fwrite($handle, $conteudo);

?>

Um cuidado especial aqui tb é o sistema operacional, que se comporta diferente para Windows, Mac e Unix. Mas vai tentando e testando aí que você consegue.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bah cara a tua ajuda foi muuuito boa valeu cada liha de codigo, porém, acho que cheguei ao meu limite, esta é a segunda vez que tento fazer funcionar este projeto em flash e da pau...

Vou me especificar melhor, voce conhece aquele efeito pageflip? que faz a pagina virar em flash....? pois é o meu objetivo era pegar o source do page flip e inserir nas páginas este codigo de comunicacao com bd ou arquivo txt, para que o usuario pudesse fazer suas anotações, como um bloco de notas estilizado, porém quando a página que tem o campo dinamico para trazer o que o usuario ja tinha digitado, ao invés disso ele coloca la um monte de codigo, que pelo que conversei com um dos caras que criou o source que eu estou usando esses são os codigos que fazem o movimento das páginas, e não tem como mudar, pra colocar o bd, mas como sou teimoso tava tentando... heheh, se tu souberes de algum jeito que tenha como fazer isso eu ficaria muito grato em saber, mas se não te agradeço pelos helps... heheheh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente ele está dando conflito com algum nome de instância ou função, por isso que ele tá pegando códigos do lugar tal e mandando pra outro lugar. Mas tb pode não ser isso, só vendo mesmo.

O problema de trabalhar com AS é que se você não se programa e idealiza o projeto antes de começar, os códigos vão se tornando um bolo só, movieclip daqui com o outro dali, scripts em mil frames e por aí vai.

Eu particularmente acho muito mais difícil fazer alterações em projetos com AS do que em outras linguagens web, como o PHP, justamente pelo fato de que um erro ou má programação pode dar uma dor de cabeça danada até você achar o erro. Mais da metade dos projetos que eu pego pra intervir em AS eu simplesmente começo tudo de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza cara então pro que eu queria este topico esta resolvido. você sabe como avisar os moderadores pra alterarem o status do topico ou sou eu quem altera?

valeu mesmo... abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×