Ir para conteúdo

POWERED BY:

Arquivado

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

Bahia

Receber dados do php (erro)

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.