Publicidade
|
|
Novo artigo no Portal Formulário E-mail Flash+PHP
#1
Posted 01 May 2008 - 11:27 PM
Acabei de publicar um novo tutorial no portal do MXStudio. Dessa vez mostro como enviar um E-mail usando Flash e PHP, usando Componentes como ComboBox, CheckBox e RadioButton.
http://www.mxstudio.com.br/flash/formulario-e-mail-flashphp/
Qualquer dúvida postem aqui.
[]s
#2
Posted 02 May 2008 - 07:49 PM
E StrHelper que eu adaptei apartir de um exemplo do F1 do Flash.
public class ValidaEmail{
//construtor padrão vazio
public function ValidaEmail(){
}
// constante com a Expressão regular para validar e-mail
public static const REGEX_EMAIL:RegExp = /^[a-z0-9]+([\._-][a-z0-9]+)*@[a-z0-9_-]+(\.[a-z0-9]+){0,4}\.[a-z0-9]{2,4}$/i;
/*
método estático validar recebe a String e verifica se é um e-mail valido
recebe uma String
retorna um Boolean (true ou false)
*/
public static function validar(_email:String):Boolean{
return REGEX_EMAIL.test(_email);
}
}
}
public class StrHelper {
//construtor padrão vazio
public function StrHelper() {
}
/*
método estático toUpper passa a palavra para caracteres maiusculos
recebe uma String
retorna uma String
*/
public static function toUpper(str:String):String {
return str.toUpperCase();
}
/*
método estático toLower passa a palavra para caracteres minusculos
recebe uma String
retorna uma String
*/
public static function toLower(str:String):String {
return str.toLowerCase();
}
/*
método estático replace recebe a palavra atual a palavra a ser trocada e a palavra de substituição
recebe 3 parametros do tipo String
retorna uma String
*/
public static function replace(str:String, oldSubStr:String, newSubStr:String):String {
return str.split(oldSubStr).join(newSubStr);
}
/*
método estático trim recebe a palavra atual e o caracter a ser removido do inicio e do fim da palavra
recebe 2 parametros do tipo String
retorna uma String
*/
public static function trim(str:String, char:String):String {
return trimBack(trimFront(str,char),char);
}
/*
método estático trimFront recebe a palavra atual e o caracter a ser removido do inicio da palavra
recebe 2 parametros do tipo String
retorna uma String
*/
public static function trimFront(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(0) == char) {
str = trimFront(str.substring(1), char);
}
return str;
}
/*
método estático trimBack recebe a palavra atual e o caracter a ser removido do fim da palavra
recebe 2 parametros do tipo String
retorna uma String
*/
public static function trimBack(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(str.length - 1) == char) {
str = trimBack(str.substring(0, str.length - 1), char);
}
return str;
}
//método estático stringToCharacter utilizado nos métodos trimBack e trimFront
public static function stringToCharacter(str:String):String {
if (str.length == 1) {
return str;
}
return str.slice(0,1);
}
}
}
estes são os exemplos do uso dos métodos das 2 Classes acima
import ValidaEmail;
import StrHelper;
// retorna os seguintes resultados
// true
trace(ValidaEmail.validar("pessoa@blabla.com.br"));
// false
trace(ValidaEmail.validar("@blabla.com.br"));
// false
trace(ValidaEmail.validar("pessoa@blabla"));
// false
trace(ValidaEmail.validar("pessoa#fulano@blabla.com.br"));
// retorna a String em minusculo
trace(StrHelper.toLower("pessoa#fulAAAno@blabla.com.br"));
// retorna a String em maiusculo
trace(StrHelper.toUpper("pessoa#fulAAAno@blabla.com.br"));
// retorna a String com a substituição do caracter @ pela palavra **ARROBA**
trace(StrHelper.replace("pessoa#fulAAAno@blabla.com.br","@","**ARROBA**"));
// retorna a String com " pessoa#fulAAAno@blabla.com.br " sem os espaços em branco do inicio e do fim da palavra
trace(StrHelper.trim(" pessoa#fulAAAno@blabla.com.br "," "));
// retorna a String com " pessoa#fulAAAno@blabla.com.br " sem os espaços em branco do inicio da palavra
trace(StrHelper.trimFront(" pessoa#fulAAAno@blabla.com.br "," "));
// retorna a String com " pessoa#fulAAAno@blabla.com.br " sem os espaços em branco do fim da palavra
trace(StrHelper.trimBack(" pessoa#fulAAAno@blabla.com.br "," "));
Isso facilita muito a nossa vida com a manipulação de Strings e validação de Email
Valew
#3
Posted 03 May 2008 - 01:53 PM
[]s
#4
Posted 30 September 2008 - 04:52 PM
Acabei de publicar um novo tutorial no portal do MXStudio. Dessa vez mostro como enviar um E-mail usando Flash e PHP, usando Componentes como ComboBox, CheckBox e RadioButton.
http://www.mxstudio.com.br/flash/formulario-e-mail-flashphp/
Qualquer dúvida postem aqui.
[]s
#5
Posted 30 September 2008 - 05:07 PM
Estou com uma dúvida em relação ao "formulario-e-mail-flashphp"
Criei os campos nome, email e mensagem para o usuário preencher e deixei um CheckBox (com a posição selected=true) como opção para o usuário optar ou não por "sim, receber newsletter". Criei os botões enviar e limpar, tudo isso em ActionScript3.0, conforme o tutorial, muito bom... Mas o Flash está acusando um erro:
1120: Access of undefined property event.
na linha:
var resultado:URLVariables = new URLVariables(event.currentTarget.data)
poderia me ajudar?
#6
Posted 05 October 2008 - 07:58 PM
Qualquer coisa pode me mandar um E-mail com seu arquivo que eu vejo o que pode estar errado, meu E-mail está no final do tutorial.
[]s
#7
Posted 12 December 2008 - 02:37 AM
fiz o seu tutorial e tudo certinho (depois de corrigir as "")
mas sempre que envio fica dizendo o erro de enviar o e-mail... mas o -email chegou no destino....
é possivel ir buscar os checkboxes a frame anterior? Ex. frame1 tem as checkboxes e a frame 2 o campo nome, email, os combo e botao envia???
para enviar data de um datefield, funciona como os combo? ou tenho mesmo de usar .selectedDate?
cara o as3 da uma porrada de erros
valeu
#8
Posted 12 December 2008 - 07:12 PM
Quanto a suas dúdidas, se o E-mail chega a ser enviado, o Flash não está conseguindo acessar a mensagem de ok vinda do PHP e por isso exibe erro. O que você pode fazer é testar localmente no Flash e usar o comando trace dentro da função onLoad da Classe LoadVars (se tiver usando AS2) ou na função onLoadRecebe(se tiver usando AS3).
Sobre receber algum valor de CheckBox em outro frame, eu testei aqui e não consegui, porque você precisa verificar se ele foi selecionado ou não. Sobre o DateField, para retornar a data selecionada, você usa:
Onde datefield é a instancia do Componente.
[]s
#9
Posted 12 December 2008 - 11:38 PM
se adiciono mais valores, para alem dos 5 do Natan o php nao envia o email
coloquei mais um input igual ao nome para colocarem a data
fiz igual ao resto para enviar para php
(so o teu php funciona)
coloquei jundo dos outros
envia.dia = dia_txt.text;
no php ficou assim e agora nao envia nada
/* Valores enviados pelo Flash */
/* Para esse tutorial irei enviar 5 valores */
/* Fiquem livres a enviar quantos valores quiserem */
$nome = utf8_decode(@$_POST['nome']);
$email = utf8_decode(@$_POST['email']);
$dia = utf8_decode(@$_POST['dia']);
$cidade = utf8_decode(@$_POST['cidade']);
$assunto = utf8_decode(@$_POST['assunto']);
$mensagem = utf8_decode(@$_POST['mensagem']);
$news = utf8_decode(@$_POST['news']);
$programas = utf8_decode(@$_POST['programas']);
/* Coloquem seu E-mail aqui */
$para = "rui_marinho@hotmail.com";
/* Aqui uma pequena verificação para evitar que enviem E-mails sem valores */
if ($nome != "" && $email != "" && $dia != "" && $cidade != "" && $assunto != "" && $mensagem != "") {
/* Montamos o E-mail */
/* Criei um exemplo bem simples de E-mail usando HTML */
/* Fiquem livres para modificar conforme desejam */
$corpo = '<html><head><title>'.$assunto.'</title></head><body>';
$corpo .= 'Nome: '.$nome.'<br />E-mai: '.$email.'<br />Quer receber a Newsletter: '.$news.'<br />';
$corpo .= 'Programas usados: '.$programas.'<br />';
$corpo .= 'Cidade: '.$cidade.'<br />Assunto: '.$assunto.'<br />Dia: '.$dia.'<br />Mensagem: '.$mensagem;
/* Aqui modificamos o tipo de E-mail para o formato HTML */
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
/* Aqui mudamos o cabeçalho para exibir o E-mail de quem enviou */
$headers .= 'From:'. $email . "\r\n";
/* Por fim enviamos o E-mail com os dados recebidos do Flash */
$OK = mail($para, $assunto, $corpo, $headers);
/* Retornamos um Ok para o Flash */
if ($OK)
{
echo 'sent=OK';
}
else
{
echo 'sent=failed';
}
?>
#10
Posted 13 December 2008 - 01:00 PM
mas no flash ta tudo bem... as instancias tao correctas e envia.dia = dia_txt.text
nao percebo
#11
Posted 14 December 2008 - 10:23 PM
Ou essa linha se for em ActionScript 3:
Troque elas por essa no AS2:
Ou essa por AS3:
Com isso deve resolver.
[]s
#12
Posted 15 December 2008 - 07:28 AM
a mensagem de erro continua ao enviar...
#13
Posted 16 December 2008 - 07:33 PM
trace(this);
Teste isso no Flash e veja o que aparece no painel Output.
[]s
Share this topic:
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Inventor do videogame projeta novos brinquedos
|
Notícias |
Notícias
|
|
|
|
Controle da internet é um desafio para o novo presidente dos EUA
|
Notícias |
Notícias
|
|
|
|
Novo media player reproduz vídeos do computador na TV
|
Notícias |
Notícias
|
|
|
|
Novo padrão de vídeo DisplayPort é aprovado
|
Notícias |
Notícias
|
|
|
|
Novo software de Computação Gráfica sendo desenvolvido por brasileiro
|
Portfólio |
leocda
|
|
|
|
Dá pau no Mozilla, mas, funciona no Firefox
processamento de formulário com falha |
Dreamweaver |
anoxia
|
|
|
|
duvida na construção de formulário
não quero utilizar tabela... |
Web Standards |
Jefers0n
|
|
|
|
ASPMail e CDONTS
de novo... problema maldito :( |
ASP |
Thompson
|
|
Publicidade
|
|

Help













