Bahia 0 Denunciar post Postado Abril 16, 2010 Boas pessoal, Segui um tuturial do blog.ericksouza.com(recomendo). Este tuturial ensina a criar uma Interação do Flash com PHP e MySQL - Exibir, Inserir, Editar e Excluir. Testei e está a carregar os dados na BD, os fiheiros de PHP não estão dando erros e o que faz o retorno dos dados da tabela,mostra os dados no ecrã. Daí que penso que o problema está no flash, o código está assim: import flash.net.FileReference; var frUpload:FileReference = new FileReference(); var retorno:LoadVars = new LoadVars(); retorno.load('retorno.php');// Carrega o arquivo PHP 'retorno.php' retorno.onLoad = carregarDados;// Ao arquivo ser carregado a função 'carregarDados()' é chamada através do evento onLoad. function carregarDados():Void{ listaNomes.removeAll(); // Limpa o listBox. for(var n:Number = 0; n <this.nLoop; n++){// Executa um loop até chegar ao número total de resultados. listaNomes.addItem({label:this['titulo' + n], data:n});// Adiciona o nome como etiqueta ao listbox, e o número do loop com valor. }; }; var listObjt:Object = new Object();// Objeto ouvinte do listbox 'listaNomes'. listObjt.change = function(mudar:Object){// Quando um novo item for selecionado o evento change é chamado. listIdSelecionado = mudar.target.value;// Grava a ID do item selecionado na variável 'listIdSelecionado'. dia.text = retorno["dia" + listIdSelecionado];// Insere o nome selecionado no textField 'nomeText'. titulo.text = retorno["titulo" + listIdSelecionado]; texto.text = retorno["texto" + listIdSelecionado]; nome.text = retorno["nome" + listIdSelecionado]; habilitar(false); // Desabilita o botão 'executar' e os textFields 'nomeText' e 'mensagemText'. info.text = "OK"; // Insere na caixa de texto 'infous' a palavra 'OK'. }; listaNomes.addEventListener("change", listObjt);// Registra o objeto 'listObjt' como ouvinte. var LvGaleria:LoadVars = new LoadVars();// Objeto loadVars LvGaleria.onLoad = function(){// Função chamada após o arquivo PHP ser carregado.// É adicionado ao textField, se 'sucesso' for 'true', 'sucesso', caso contrário 'Erro'. if( this.ok ? 'SUCESSO' : 'ERRO'){ info.text ="Sucesso"; }else{ info.text ="Erro"; } atualizaListBox(); // Função responsável por atualizar o listBox. }; function enviarReceberDados():Void{// Função a ser chamada ao clicar no botão 'executar'. LvGaleria.id = retorno['id'+ listIdSelecionado]; // Envia o id. LvGaleria.dia = dia.text; // Envia o nome. LvGaleria.titulo = titulo.text; // Envia o nome. LvGaleria.texto = texto.text; // Envia o nome. LvGaleria.nome = nome.text; LvGaleria.sendAndLoad(urlPHP, LvGaleria, 'POST'); // Envia as variáveis e carrega o arquivo PHP. frUpload.upload("upload.php"); }; function habilitar(valor:Boolean):Void{ dia.editable = valor; titulo.editable = valor; texto.editable = valor; nome.editable = valor; executar.enabled = valor;//habilita ou desabilita o botão 'executar'. }; habilitar(false); // Desabilita o botão 'executar' e os textFields 'nomeText' e 'mensagemText'. function funcInserir():Void{// Função do botão inserir habilitar(true); // Habilita o botão 'executar' e os textFields 'nomeText' e 'mensagemText'. dia.text = ''; titulo.text = ''; texto.text = ''; nome.text = ''; urlPHP='inserir.php';// Seta o arquivo PHP a ser usado. info.text = 'INSERINDO'; // Insere na caixa de texto 'infous' a palavra 'INSERINDO'. //esta parte acrescetei para carregar uma imagem. var objUpload:Object = new Object(); var arquivosPermitidos:Array = new Array(); function initUpload(Void):Void { arquivosPermitidos[0] = {description:"Arquivos (*.jpg;*.jpeg;*.gif;*.swf)", extension:"*.jpg; *.jpeg; *.gif; *.swf"}; objUpload.onSelect = function(f:FileReference):Void { nome.text = f.name; } objUpload.onComplete = function(f:FileReference):Void { caixa.text="Imagem gravada no servidor!"; } objUpload.onHTTPError = objUpload.onIOError = function() {//caso aprensente algum erro no envio caixa.text="Não enviou!..." } frUpload.addListener(objUpload);//adicionando as ações de listener ao objeto de Upload frUpload.browse(arquivosPermitidos); } initUpload(); }; function funcEditar():Void{// Função do botão Editar habilitar(true); // Habilita o botão 'executar' e os textFields 'nomeText' e 'mensagemText'. urlPHP= 'update.php';// Seta o arquivo PHP a ser usado. info.text = 'EDITANDO'; // Insere na caixa de texto 'infous' a palavra 'EDITANDO'. }; function funcExcluir():Void{// Função do botão Exluir urlPHP='excluir.php';// Seta o arquivo PHP a ser usado. enviarReceberDados(); // Chama função 'enviarReceberDados()'. }; function atualizaListBox():Void{// Função responsável por atualizar o listBox após os dados serem atualizados. dia.text = ''; titulo.text = ''; texto.text = ''; nome.text = ''; retorno.load('retorno.php');// Recarrega o arquivo PHP 'retorno.php'. retorno.onLoad = carregarDados;// Ao arquivo ser carregado a função 'carregarDados()' é chamada através do evento onLoad. habilitar(false); // Desabilita o botão 'executar' e os textFields 'nomeText' e 'mensagemText'. }; inserir.onRelease = funcInserir; editar.onRelease = funcEditar; // Seta a função do botão 'editar'. apagar.onRelease = funcExcluir; // Seta a função do botão 'apagar'. executar.onRelease = enviarReceberDados; // Seta a função do botão 'executar'. Já dei voltas e mais voltas e não consigo resolver esse problema. Desde já obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Bahia 0 Denunciar post Postado Abril 17, 2010 Se alguém quiser testar, os ficheiros estão AQUI Compartilhar este post Link para o post Compartilhar em outros sites
Bahia 0 Denunciar post Postado Abril 20, 2010 Bem já tentei, apesar de todos os ficheiros estarem no meu servidor e na mesma pasta: Colocar os caminhos completos ex: retorno.load(http://www.meusite/pasta/retorno.php); System.security.allowDomain ("meusite.com"); colocar o ficheiro crossdomain.xml da Adobe na root do meu site. Mas nada está resultando. O estranho é que o Flash está a enviar para o mysql mas não recebe. E quando testo os fich. php eles mostram o conteudo da BD. Exprimentei fazer outro exemplo semelhante a este e acontece o mesmo só grava mas não lê. Será que alguém me pode ajudar nisto. Desde já obrigado. Compartilhar este post Link para o post Compartilhar em outros sites