dentada 0 Denunciar post Postado Outubro 31, 2011 Olá pessoal, Estou com o seguinte problema: Estou fazendo um formulário de cadastro para envio de newsletter. Ele funciona perfeitamente, lê o php como deveria e tudo mais. O meu problema é que eu preciso conferir no bacdo de dados os e-mails já cadastrados para não haver o problema de ter 1 e-mail cadastrado várias vezes. Estou usando um script muito popular na internet que peguei de um tutorial, que é basicamente este: /* @Autor: Rodrigo Gonçalves [Rodrigo PiXEL] * @Créditos: www.AlvoWeb.com */ var tempoMensagem:Timer; //intervalo entre mensagens de aviso var variaveis:URLVariables; //receber dados no flash pra enviar pro script php var urlPhp:URLRequest; //vai armazenar o arquivo php externo var loader:URLLoader; //carregar e comunicar com arquivo php init(); enviarBtn.buttonMode = true function init():void { System.useCodePage = true; limpaTodosCamposTextos(); tempoMensagem = new Timer(3000, 1); tempoMensagem.addEventListener(TimerEvent.TIMER, quandoAcabarTempo); quando clicar no botão executa a função enviaMensagem(); enviarBtn.addEventListener(MouseEvent.CLICK, quandoEnviarBtn); } function quandoEnviarBtn(e:MouseEvent):void { verificaDadosAntesDeEnviar(); } function verificaDadosAntesDeEnviar():void { if(emailTxt.length == 0) { mostraMensagemAviso("Por favor insira seu e-mail"); } else if(emailTxt.text.indexOf("@") == -1 || emailTxt.text.indexOf(".") == -1) { mostraMensagemAviso("Ops! Esse e-mail não é valido!"); } else { enviaDadosParaPHP(); } } function enviaDadosParaPHP():void { mostraMensagemAviso("Enviando e-mail..."); variaveis = new URLVariables(); variaveis.emailPhp = emailTxt.text; urlPhp = new URLRequest("email.php"); urlPhp.method = URLRequestMethod.POST; urlPhp.data = variaveis; loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, quandoEnviadoMensagem); loader.addEventListener(IOErrorEvent.IO_ERROR, quandoHouverErroNoEnvio); loader.load(urlPhp); } function quandoEnviadoMensagem(e:Event):void { mostraMensagemAviso("E-mail enviado!"); trace(e.target.data); iniciatempoMensagemDeAviso(); limpaTodosCamposTextos(); } function quandoHouverErroNoEnvio(e:IOErrorEvent):void { mostraMensagemAviso("Ops! Surgiu erro! Tenta novamente."); iniciatempoMensagemDeAviso(); } function quandoAcabarTempo(e:TimerEvent):void { mostraMensagemAviso(""); } function limpaTodosCamposTextos():void { emailTxt.text = ""; } function mostraMensagemAviso(texto:String):void { avisoTxt.text = texto; } function iniciatempoMensagemDeAviso():void { tempoMensagem.reset(); tempoMensagem.start(); } Então pessoal, alguma dica de qual método, váriavel, função, etc. que possa conferir se ja existe o mesmo e-mail cadastrado no banco? Muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Outubro 31, 2011 @dentada, essa lógica precisa estar no server-side. O PHP é quem deve ignorar a tentativa de adicionar dados repetidos e retornar uma mensagem condizente para que, então, o Flash a exiba. Compartilhar este post Link para o post Compartilhar em outros sites
dentada 0 Denunciar post Postado Outubro 31, 2011 Valeu o retorno, porém, como eu pego esses dados no flash para que ele mande a mensagem do tipo "e-mail já cadastrado"? Eu sei que se eu der um trace nesse comando: trace (e.target.data); ele me retorna alguns dados, mas não consigo usar esses dados para validação de algo. Desde já agradeço!!! Compartilhar este post Link para o post Compartilhar em outros sites