Ir para conteúdo

Arquivado

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

Thiago de Oliveira Cruz

[Tutorial] Formulário Fácil de e-mail Flash + PHP

Recommended Posts

Olha, eu acho que tem que corrigir uma coisinha:

 

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");
 if($ok){
 echo '&ok=1&';
 }else {
 echo '&ok=0&';
}

pra isso:

 

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");
 if($ok){
 echo "&ok=1&";
 }else {
 echo "&ok=0&";
}

pq se não o php da erro, pelo menos pra mim foi a única maneira de o echo funcionar quando eu abro o meu .php no meu site, ainda sim não consigo fazer o flash ler o ok=1 pra continuar rodando o script, ele simplesmente para no envio do e-mail, ele manda, os e-mails tanto da pessoa que envia o formulário quanto eu recebemos o e-mail, porém o flash não continua a rodar o script e não vai pra página seguinte de agradecimentos...

 

o meu código num tá muito diferente do teu, ele num dá erros nem nada, o botão funciona e tudo ele simplesmente não consegue receber o comando do php

 

stop();
var ohf:MovieClip
var fatura:MovieClip
var btnEnviar:MovieClip
var carregafale:LoadVars = new LoadVars();
var carregafale2:LoadVars = new LoadVars();
{System.useCodepage = true; 

txt_status.text = "";

 
 
 btnEnviar.onPress = function(){
 if (_root.fatura.txt10x.text == "") {
   txt_status.text = "O campo e-mail está vazio";
 }else{
	
	carregafale.txt1a = ohf.txt1.text;
    carregafale.txt2a = ohf.txt2.text;
    carregafale.txt3a = ohf.txt3.text;
    carregafale.txt4a = ohf.txt4.text;
	carregafale.txt5a = ohf.txt5.text;
	carregafale.txt6a = ohf.txt6.text;
	carregafale.txt7a = ohf.txt7.text;
	carregafale.txt8a = ohf.txt8.text;
	carregafale.txt9a = ohf.txt9.text;
	carregafale.txt10a = ohf.txt10.text;
	carregafale.txt11a = ohf.txt11.text;
	carregafale.txt12a = ohf.txt12.text;
	carregafale.txt13a = ohf.txt13.text;
	carregafale.txt14a = ohf.txt14.text;
	carregafale.txt15a = ohf.txt15.text;

	carregafale.txt1c = fatura.txt1x.text;
    carregafale.txt2c = fatura.txt2x.text;
    carregafale.txt3c = fatura.txt3x.text;
    carregafale.txt4c = fatura.txt4x.text;
	carregafale.txt5c = fatura.txt5x.text;
	carregafale.txt6c = fatura.txt6x.text;
	carregafale.txt7c = fatura.txt7x.text;
	carregafale.txt8c = fatura.txt8x.text;
	carregafale.txt9c = fatura.txt9x.text;
	carregafale.txt10c = fatura.txt10x.text;
    carregafale.txt11c = fatura.txt11x.text
	
	carregafale.txtModelo = fatura.txtInput3.text
	carregafale.txtQuanta = mcVazio.txtInput2.text
	
   carregafale.sendAndLoad("formulariof.php",carregafale2,"POST");
   carregafale2.onload = carrega();
 }
 }
 
 function carrega(){
 if(carregafale2.ok == "1"){
 _root.loadMovie("obrigado.swf", _self);
 }else{
 txt_status.text = "Erro no envio";
 }
	
 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok eu mesmo me acertei aqui, tem alguma coisa errada nesse tutorial, pelo menos na parte do flash, pq simplesmente ele não recebe a variável de volta do php, meu código ficou assim e funciona que é uma beleza agora http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

vou conseguir dormir tranquilis hj segura o códs ae galeris

 

stop();
var ohf:MovieClip
var fatura:MovieClip
var btnEnviar:MovieClip
var carregafale:LoadVars = new LoadVars();
var carregafale2:LoadVars = new LoadVars();
{System.useCodepage = true; 

txt_status.text = "";

 
 
 btnEnviar.onPress = function(){
 if (_root.fatura.txt10x.text == "") {
   txt_status.text = "O campo e-mail está vazio";
 }else{
	
	carregafale.txt1a = ohf.txt1.text;
    carregafale.txt2a = ohf.txt2.text;
    carregafale.txt3a = ohf.txt3.text;
    carregafale.txt4a = ohf.txt4.text;
	carregafale.txt5a = ohf.txt5.text;
	carregafale.txt6a = ohf.txt6.text;
	carregafale.txt7a = ohf.txt7.text;
	carregafale.txt8a = ohf.txt8.text;
	carregafale.txt9a = ohf.txt9.text;
	carregafale.txt10a = ohf.txt10.text;
	carregafale.txt11a = ohf.txt11.text;
	carregafale.txt12a = ohf.txt12.text;
	carregafale.txt13a = ohf.txt13.text;
	carregafale.txt14a = ohf.txt14.text;
	carregafale.txt15a = ohf.txt15.text;

	carregafale.txt1c = fatura.txt1x.text;
    carregafale.txt2c = fatura.txt2x.text;
    carregafale.txt3c = fatura.txt3x.text;
    carregafale.txt4c = fatura.txt4x.text;
	carregafale.txt5c = fatura.txt5x.text;
	carregafale.txt6c = fatura.txt6x.text;
	carregafale.txt7c = fatura.txt7x.text;
	carregafale.txt8c = fatura.txt8x.text;
	carregafale.txt9c = fatura.txt9x.text;
	carregafale.txt10c = fatura.txt10x.text;
    carregafale.txt11c = fatura.txt11x.text
	
	carregafale.txtModelo = fatura.txtInput3.text
	carregafale.txtQuanta = mcVazio.txtInput2.text
	
   carregafale.sendAndLoad("formulariof.php",carregafale,"POST");
   carregafale.onLoad = function(success:Boolean){
   if(success){
	   _root.loadMovie("obrigado.swf",_self)
   }else{
	   txt_status.text = "Erro no envio"
 
 }
 }
 }
 }
 

	};

a função echo no php até funciona mas nesse script você num carrega ela pq o flash mesmo se encarrega de verificar se a informação ta passando pro php, e se o php ta passando adiante é o que importa,

 

fuiz e abraços uhuuuuu \o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você baixou o exemplo para ver? pois eu uso em + de 20 sites e todos funcionam e respondem...

Baixe o exemplo e veja como funciona.

 

abraços

 

opa berseck, obrigado pelo feedback

 

acabei de baixar o exemplo, mandei e nada aconteceu, o flash parece funcionar corretamenta mas nada chega na caixa postal, deve ser por causa de uma política antispam da locaweb que impede o e-mail de ser enviado.

 

mas quanto a isso, meu problema ta resolvido, meu problema maior é que eu carrego o meu movieclip dentro de um scrollpane e mesmo com rootlock ele não permite que o botão enviar verifique o campo e-mail, todos os outros botões funcionam normalmente...esquisito

 

é isso ae

abraços

 

desculpem o double post, mas não achei o botão edit, na verdade o e-mail chegou sim e veio direitinho

desculpa a confusão

 

berseck, foi mal ae agora o triple post, mas a culpa foi tda minha, desculpe desmerecer o seu cod. de alguma forma, minha intenção não foi essa

eu dei trace no botão de enviar e nos campos verificáveis, e pude notar que a informação chegava daí ficou facil de rastrear o caminho certo

valeu e obrigado de novo pela disposição e mais uma vez, me desculpe se fui meio hostil

Compartilhar este post


Link para o post
Compartilhar em outros sites

III bixo nem se preucupa.

 

Eu perguntei se você tinha baixado a versão, só para saber se era com base nela sem alterar que você estava tendo erros... ai seria mais fácil de eu descobrir.

Mas se ta tudo funcionando e você já descobriu onde tava o problema então ta tudo uma maravilha ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Berseck,

muito bom este seu sistema de formulario.

Tenho usado bastante. Mas tem uma coisa que eu ainda não consegui resolver, o problema com a acentuação e cedilha.

Andei pesquisando mas não consegui resolver o problema de acentuação na mensagem que o usuário envia.

 

Estou usando "charset=iso-8859-1" no html e no php o que resolveu em parte o problema, mas como disse acima, ainda continua o problema no texto que o usuário envia.

 

Abaixo o html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    
    <head>
    <!--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-->
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Glória Marinho</title>
 <style type="text/css">
        /*<![CDATA[*/
            html, body, div {
                height: 100%;
                overflow: hidden;
            }
            body {
                background: #305C54;
                font: 86% Arial, "Helvetica Neue", sans-serif;
                margin: 0;
            }
            #index {
                height: 100%;
            }
        /*]]>*/
        </style>
        <script type="text/javascript" src="AC_RunActiveContent.js"></script>
        <script type="text/javascript" src="swfaddress/swfaddress.js?strict=false"></script>
    </head>
    <body>
        <div>
            <script type="text/javascript">
                AC_FL_RunContent(
                    'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
                    'width', '100%',
                    'height', '100%',
                    'src', 'index',
                    'quality', 'high',
                    'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
                    'align', 'middle',
                    'play', 'true',
                    'loop', 'true',
                    'scale', 'showall',
                    'wmode', 'window',
                    'devicefont', 'false',
                    'id', 'index',
                    'bgcolor', '#305C54',
                    'name', 'index',
                    'menu', 'true',
                    'allowScriptAccess','sameDomain',
					'allowfullscreen', 'true',
                    'movie', 'index'
                );
            </script>
            <script language="Javascript"> 
 function addFav(){ 
        var url      = "http://www.gloriamarinho.com"; 
        var title    = "Website da artista Glória Marinho"; 
        if (window.sidebar) window.sidebar.addPanel(title, url,""); 
        else if(window.opera && window.print){ 
        var mbm = document.createElement('a'); 
        mbm.setAttribute('rel','sidebar'); 
        mbm.setAttribute('href',url); 
        mbm.setAttribute('title',title); 
        mbm.click(); 
        } 
        else if(document.all){window.external.AddFavorite(url, title);} 
 } 
 </script>
            <script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0','width','100%','height','100%','id','index','align','middle','src','index','quality','high','bgcolor','#305C54','name','index','allowscriptaccess','sameDomain','allowfullscreen','true','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','index' ); //end AC code
</script><noscript>
                <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="index" align="middle">
                    <param name="allowScriptAccess" value="sameDomain" />
                    <param name="allowFullScreen" value="true" />
                    <param name="movie" value="index.swf" />
                    <param name="quality" value="high" />
                    <param name="bgcolor" value="#305C54" />
                    <embed src="index.swf" quality="high" bgcolor="#305C54" width="100%" height="100%" name="index" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
                </object>
            </noscript>
        </div>
    </body>
</html>

e abaixo o PHP:

<head> 
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head>

<?php
$sugestao = $_POST['sugestao'];
$email = $_POST['email'];

// adicione seu e-mail na linha abaixo
$recipient = "fernando@zerodpi.com";

$subject = "Site GM - Sugestão de Usuário";

$msg = "Sugestão: $sugestao";
//$msg = "nome: $nome \n\nE-mail: $email \n\nMensagem: $mensagem";

// adicione seu e-mail na linha abaixo
$mailheaders = "From: webmaster@gloriamarinho.com.br";

$ok = mail("$recipient", "$subject", "$msg", "$mailheaders");
if($ok){
	echo '&ok=1&';
}else {
	echo '&ok=2&';
}
?>
Sabe como posso resolver meu problema?

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Berseck,

MUITO OBRIGADO!!!! Mais uma vez você me ajudou muito.

 

Foi na mosca, "System.useCodepage = true;", mais uma que eu não conhecia.

 

Grande abraço.

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.