[Script]Enviando Formulario de Contato

Seção para postar os scripts das video aulas, e dos membros do forum

[Script]Enviando Formulario de Contato

Mensagempor davidchc » Seg Jun 15, 2009 6:37 pm

Os scripts usandos na video aula.

index.php
Código: Selecionar tudo

<?php
        
if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
            require(
"funcoes/funcoes_mail.php");
            
            
$nome      ValidarString($_POST['nome'], "Preencha o campo Nome");
            
$email     =  ValidarEmail($_POST['email']);
            
$titulo    ValidarString($_POST['titulo'], "Preencha o campo Titulo");
            
$mensagem  ValidarString($_POST['mensagem'], "Preencha o campo Mensagem");
            
            
$msg "<strong>Nome </strong>: $nome <br /> 
                    <strong>E-mail </strong>: $email <br /> 
                    <strong>Titulo </strong>: $titulo <br /> 
                    <strong>Mensagem </strong>: $mensagem <br />
                    <strong>Enviado em </strong>: "
.date("d-m-Y H:i:s");
            
                       
//DIGITE SEU EMAIL        
            
$destino "seuemail@seuemail.com.br";
                        
//O TITULO DA MENSAGEM

            
$titulo "Formulário de Contato";
            if(
EnviarEmail($destino$email$titulo$msg)){
                echo 
'<script type="text/javascript">
                        alert("Sr(a), '
.$nome.', sua mensagem foi enviada com sucesso!")
                        window.location="index.php";
                     </script>'
;
                     
            }else{
                echo 
'<script type="text/javascript">
                        alert("Sr(a), '
.$nome.', sua mensagem não foi enviada")
                      </script>'
;
            }
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formul&aacute;rio de Contato</title>
<link href="css/estilo.css" rel="stylesheet" type="text/css" />

</head>
<body>
        
        <form action="" method="post">
                <fieldset>
                    <legend>Formulário de Contato</legend>
                    
                    <label>
                         <span>Nome</span>
                         <input type="text" name="nome" />
                    </label>
                    
                    <label>
                         <span>E-mail</span>
                         <input type="text" name="email" />
                    </label>
                    
                    <label>
                         <span>Titulo</span>
                         <input type="text" name="titulo" />
                    </label>
                    
                      <label>
                         <span>Mensagem</span>
                         <textarea name="mensagem" cols="30" rows="5"></textarea>
                    </label>
                    <input type="hidden" name="acao" value="enviar" />
                    <input type="submit" value="Enviar Formulário"  class="btn"/>
                       </fieldset>  
                                      
        
        </form>
</body>
</html>


funcoes_mail.php

Código: Selecionar tudo

<?php
        
        
function TratarDados($str){
                
$str trim($str);
                
$str strip_tags($str);
                
$caracters = array("&""%");
                
$str str_replace($caracters""$str);
                return 
$str;
        }
        
        function 
ValidarString($string$erro){
                
$string TratarDados($string);
                if(empty(
$string)){
                    echo 
'<script type="text/javascript">alert("'.$erro.'")</script>';
                    echo 
'<script type="text/javascript">history.back()</script>';
                    exit;
                }
                return 
$string;
        }
        
        function 
ValidarEmail($email){
                
$email TratarDados($email);
                if(empty(
$email)){
                    echo 
'<script type="text/javascript">alert("Preencha o campo E-mail")</script>';
                    echo 
'<script type="text/javascript">history.back()</script>';
                    exit;
                }
                elseif(
substr_count($email"@") !== || substr_count($email".") == 0){
                    echo 
'<script type="text/javascript">alert("Preencha com um e-mail válido")</script>';
                    echo 
'<script type="text/javascript">history.back()</script>';
                    exit;
            }
            return 
$email;
        }
        
        
        function 
EnviarEmail($destino$rementente$titulo$msg){
                
$headers  "MIME-Version: 1.0\n";
                
$headers .= "Content-Type:text/html; charset=iso-8859-1\n";
                
$headers .= "From: $rementente\n";
                
$headers .= "Return-Path: $rementente";
                return 
mail($destino$titulo$msg$headers);
        }
        
?>


estilo.css

Código: Selecionar tudo
*{
margin:0;
padding:0;
}

body{
   background:#e5e5e5;
   font:12px Verdana, Geneva, sans-serif;
}

form{
   width:300px;
   margin:0 auto;
   background:#fff;
   }
form fieldset{
   border:0;
   padding:0 15px 10px;
}

form fieldset legend{
   font-size:18px;
   color:#036;
   padding-bottom:10px;
   }


form label{
   display:block;
   padding:3px 0;
   }

form label span{
   display:block;
   color:#036;
   font-size:13px;
   font-weight:bold;
}
form label input{
   font-weight:bold;
   color:#900;
   padding:3px 0;
   width:255px;
   }
form label textarea{
   font-weight:bold;
   color:#900;
}

form input.btn{
   display:block;
   width:120px;
   padding:5px 0;
   margin:10px auto 0;
   border:0;
   background:#036;
   color:#FFF;
   cursor:pointer;
   }

Avatar de usuário
davidchc
Veterano
 
Mensagens: 3135
Data de registro: Qua Ago 06, 2008 2:11 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor webson » Dom Jul 19, 2009 4:58 pm

david vc tem o script do formulario qnd enviado retorna uma mensagem que logo repoderei?????? falo obrigado
webson
Novo membro
 
Mensagens: 19
Data de registro: Seg Jun 29, 2009 5:08 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor davidchc » Seg Jul 20, 2009 8:49 am

Basta vc escrever no alert isso
Avatar de usuário
davidchc
Veterano
 
Mensagens: 3135
Data de registro: Qua Ago 06, 2008 2:11 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor webson » Qua Jul 29, 2009 7:40 am

desculpa a inguinorancia, mais onde eu encontro este cara chamado ALERT ?????
webson
Novo membro
 
Mensagens: 19
Data de registro: Seg Jun 29, 2009 5:08 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor davidchc » Qua Jul 29, 2009 9:14 am

Assim vc envia uma alerta na telas

Código: Selecionar tudo
echo '<script type="text/javascript">
                  alert("Sua mensagem foi enviada com sucesso!")
                              </script>';


e quiser enviar um email para o usuario, basta usar a mesma funcão, reveja a video aula como usar essa função.
Avatar de usuário
davidchc
Veterano
 
Mensagens: 3135
Data de registro: Qua Ago 06, 2008 2:11 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor jtimbrasil » Ter Ago 25, 2009 3:38 pm

Provavelmente o amigo webson referiu-se a auto resposta.Se puder dar mais essa colher de chá, (nesse caso uma jarra transbordando de chá) será muito bem vinda.Já que o seu formulário funcionou perfeitamente, inclusive com envio para conta no Gmail e Hotmail, coisa que outros dois formulários que já testei não conseguem fazer.
jtimbrasil
Novo membro
 
Mensagens: 1
Data de registro: Ter Ago 25, 2009 3:27 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor davidchc » Ter Ago 25, 2009 10:04 pm

È bem simples, vc tem a função q envia para um email, basta usar a mesma função para enviar a resposta.
Avatar de usuário
davidchc
Veterano
 
Mensagens: 3135
Data de registro: Qua Ago 06, 2008 2:11 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor alexsander27 » Qui Set 03, 2009 7:47 pm

Olá David CHC tudo bem, cara eu estou com um probrema em um formulario que vc ensino em video aula no VAB eu gostaria que desse uma olhada no meu ccódigo para no que eu estou errando pq não esta funcionano as validações e nem manda o email.

Esse é o meu site http://www.cybersoftware.com.br hospedado na comunidade web

Imagem do meu site:

[img]


O Código do contato.php:
Código: Selecionar tudo
<?php
      if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
         require("funcoes/funcoes_mail.php");
       
         $nome      = ValidarString($_POST['nome'], "Preencha o campo Nome");
         $email     =  ValidarEmail($_POST['email']);
       $fone      = ValidarString($_POST['fone'], "Preencha o campo Telefone");
         $assunto    = ValidarString($_POST['assunto'], "Preencha o campo assunto");
         $mensagem  = ValidarString($_POST['mensagem'], "Preencha o campo Mensagem");
         
         $msg = "<strong>Nome </strong>: $nome <br />
               <strong>E-mail </strong>: $email <br />
            <strong>Fone </strong>: $fone <br />
               <strong>Assunto </strong>: $assunto <br />
               <strong>Mensagem </strong>: $mensagem <br />
               <strong>Enviado em </strong>: ".date("d-m-Y H:i:s");
         
                       //DIGITE SEU EMAIL     
         $destino = "alex_hardware@hotmail.com";
                        //O TITULO DA MENSAGEM

         $assunto = "Formulario de Contato";
         if(EnviarEmail($destino, $email, $assunto, $msg)){
            echo '< script type="text/javascript">
                  alert("Sr(a), '.$nome.', sua mensagem foi enviada com sucesso!")
                  window.location="contato.php";
                </script>';
               
         }else{
            echo '<script type="text/javascript">
                  alert("Sr(a), '.$nome.', sua mensagem n&atilde;o foi enviada")
                 </script>';
         }
   }
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="css/estilo.css"  rel="stylesheet" type="text/css"/>
<link rel="shortcut icon" href="images/icone.ico" type=""image/x-icon"/>


<title>:::CYBER SOFTWARE:::SOLUÇÕES EM WEB E INFORMÁTICA:::</title>
</head>

<body>
   <div id="topo">
   <h1> <a href="http://www.cybersoftware.com.br"><img src="images/logo.png" border="0" alt="Cyber Software - Soluções em Web e informática"></a></h1>
   </div>
      <div id="menu">
        <ul>
           <li><a href="index.html">Home</a></li>
            <li><a href="quemsomos.html">Quem somos</a></li>
            <li><a href="servico.html">Servi&ccedil;os</a></li>
            <li><a href="trabalhos.html">Trabalhos realizados</a></li>
            <li><a href="contato.php">Contatos</a></li>
        </ul>
         
      </div>
           <div id="imagem">
         
            </div>
               <div id="conteudo">
                  <div id="navlink">
                    Home >> Contato </div>
                  <div id="bloco-esquerdo">
                     
                            <form action="" method="post">
                        <fieldset>
                           <legend>Formul&aacute;rio de Contato</legend>
                           <label>
                              <span>Nome:</span>
                              <input type="text" name="nome"/>
                           </label>
                           <label>
                              <span>Email:</span>
                              <input type="text" name="email"/>
                           </label>
                           <label>
                              <span>Fone:</span>
                              <input type="text" name="fone"/>
                           </label>
                           <label>
                              <span>Assunto:</span>
                              <input type="text" name="assunto"/>
                           </label>
                           <label>
                              <span>Mensagem:</span>
                              <textarea name="mensagem" cols="30" rows="5"></textarea>
                           </label>
                           <input type="submit" value="Enviar Formul&aacute;rio" class="btn"/>
                        </fieldset>
                  </form>

                        </div>
                     <div id="bloco-direito">
                             <div id="bloco-direito-conteudo">
                                <h1>Contatos</h1>
                                   <h2>Telefone</h2>
                                       <p>(19)3271 1717</p>
                                   <h2>Email</h2>
                                       <p>contato@cybersoftware.com.br</p>
                              <p>alex_hardware@hotmail.com</p>
                          </div>
                       
                  </div>
                           <div id="divclear">
                           
                            </div>
                               <div id="rodape">
                                   <div id="copyright">
                                    Copyright 2009  - Desenvolvido por Cyber Software </a> - Todos direitos reservados
                                       </div>
                                </div>
                                   <div id="img-rodape">
                                       </div><!--fim div img-rodape-->
                             
                   </div>

</body>
</html>


E aqui é o código do funcoes_mail.php:

Código: Selecionar tudo
    <?php
         
          function TratarDados($str){
                $str = trim($str);
                $str = strip_tags($str);
                $caracters = array("&", "%");
                $str = str_replace($caracters, "", $str);
                return $str;
          }
         
          function ValidarString($string, $erro){
                $string = TratarDados($string);
                if(empty($string)){
                   echo '<script type="text/javascript">alert("'.$erro.'")</script>';
                   echo '<script type="text/javascript">history.back()</script>';
                   exit;
                }
                return $string;
          }
         
          function ValidarEmail($email){
                $email = TratarDados($email);
                if(empty($email)){
                   echo '<script type="text/javascript">alert("Preencha o campo E-mail")</script>';
                   echo '<script type="text/javascript">history.back()</script>';
                   exit;
                }
                elseif(substr_count($email, "@") !== 1 || substr_count($email, ".") == 0){
                   echo '<script type="text/javascript">alert("Preencha com um e-mail válido")</script>';
                   echo '<script type="text/javascript">history.back()</script>';
                   exit;
             }
             return $email;
          }
         
         
          function EnviarEmail($destino, $rementente, $assunto, $msg){
                $headers  = "MIME-Version: 1.0\n";
                $headers .= "Content-Type:text/html; charset=iso-8859-1\n";
                $headers .= "From: $rementente\n";
                $headers .= "Return-Path: $rementente";
                return mail($destino, $assunto, $msg, $headers);
          }
         
    ?>


Se voçê ajudar eu agradeço.
alexsander27
Membro junior
 
Mensagens: 39
Data de registro: Qua Mar 18, 2009 7:02 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor davidchc » Qui Set 03, 2009 7:54 pm

Vc não colocou um campo oculto q falo na video aula, onde faz a verificações, pq isso não está funciona. Acrescente apenas o campo oculto no formulário.

Código: Selecionar tudo
   <input type="hidden" name="acao" value="enviar" />
Avatar de usuário
davidchc
Veterano
 
Mensagens: 3135
Data de registro: Qua Ago 06, 2008 2:11 pm

Re: [Script]Enviando Formulario de Contato

Mensagempor alexsander27 » Qui Set 03, 2009 8:22 pm

E ai David CHC valeu pela dica cara o formulário esta mandando email mas depois que ele é redirecionado para mesma pagina fica assim veja no screem abaixo:

http://img268.imageshack.us/i/errosite.jpg/

Obrigado!

Alex Rodrigues
alexsander27
Membro junior
 
Mensagens: 39
Data de registro: Qua Mar 18, 2009 7:02 pm

Próximo

Retornar para Banco de Scripts (PHP)

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes