Ir para conteúdo
Entre para seguir isso  
Maira Torresani

Função de envio de e-mail php

Recommended Posts

Bem, eu tenho um form e preciso enviar os dados que o usuário preencher para um e-mail.

 

O problema é que eu tenho uma função que envia o e-mail, tenho esse formulário em 3 páginas diferentes do site então não dá pra fazer o header(location:page) porque assim eu teria que fazer um arquivo diferente para cada página. O que eu queria fazer e não achei como, é se tem como passar os valores do form por parâmetros de uma função sem precisar ir para outra página para executar a função. Pode ser com javaScript se der.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi direito o seu objetivo.

 

Mas, se entendi bem, você pode fazer isso de duas maneiras:

 

1 - Colocar a action dos formulários todas apontando para o mesmo lugar (se os formulários forem iguais). Aí você monta apenas uma rotina de envio.

2 - Fazer o envio das informações por JavaScript/AJAX. Aí você não precisa recarregar a página.

 

Tenta explicar um pouco melhor a sua situação. Talvez dê pra ajudar mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Colocar a action dos formulários todas apontando para o mesmo lugar (se os formulários forem iguais). Aí você monta apenas uma rotina de envio.

Sim, no momento eles estão, mas não quero que vá para outra página, se for pra fazer a validação em outra página depois ele tem que voltar para a página anterior e esse é um dos problemas já que são páginas diferentes entaõ não sei como faria um header(location:) que voltasse para a pagina anterior.

 

2 - Fazer o envio das informações por JavaScript/AJAX. Aí você não precisa recarregar a página.

Só sei fazer o envio com phpmailer, não acho um tutorial bom de como fazer isso com javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas o javascript não envia e-mail.

Você fará a submissão do formulário pro AJAX para o PHP. Lá ele trata e envia os dados.

 

Tem posts aqui no fórum que ensinam a fazer isso, por exemplo: http://forum.imasters.com.br/topic/481668-resolvidocomo-dar-submit-em-formulario-com-ajax-sem-refresh/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por Gustavo2503
      Eu estou criando uma classe que cria modais usando React, eu preciso criar um modal dentro de um modal, para isso, eu quero chamar a mesma função dentro dela mesma. O modal é criado, mas o problema é que ele não abre, abre o modal principal (#modal-1), mas não abre o sub modal (#modal-2), veja como ficou meu código:
      index.html
      <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Modal</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script> <script src="js/modal.js" type="text/babel"></script> <link rel="stylesheet" href="css/modal.css"> </head> <body> <div align="center"> <h1>Modal</h1> </div> <button type="button" data-modal="modal-1">Open Modal</button> <div id="modal-content"></div> <script type="text/babel"> const contentSub = [ <h2>Title SubModal 1</h2>, <p>SubModal</p>, <small>Rodapé submodal 1</small> ]; const idSub = "modal-2"; const content = [ <h2>Title 1</h2>, <section> <button type="button" data-modal="modal-2">Open SubModal</button> <Modal id={idSub} content={contentSub}/> </section>, <small>Rodapé 1</small> ]; const id = "modal-1"; ReactDOM.render( <Modal id={id} content={content}/>, document.getElementById('modal-content') ); </script> </body> </html> js/modal.js
      class Modal extends React.Component{ constructor(props) { super(props); this.id = this.props.id; this.backgroudColorHeader = this.props.backgroudColorHeader === undefined ? 'rgba(103, 117, 240, 1)' : this.props.backgroudColorHeader; this.textColorHeader = this.props.textColorHeader === undefined ? '#fff' : this.props.textColorHeader; this.backgroudColorBody = this.props.backgroudColorBody === undefined ? 'rgba(255, 255, 255, 1)' : this.props.backgroudColorBody; this.textColorBody = this.props.textColorBody === undefined ? '#000' : this.props.textColorBody; this.backgroudColorFooter = this.props.backgroudColorFooter === undefined ? 'rgba(103, 117, 240, 1)' : this.props.backgroudColorFooter; this.textColorFooter = this.props.textColorFooter === undefined ? '#fff' : this.props.textColorFooter; this.borderRadius = this.props.borderRadius === undefined ? '8px' : this.props.borderRadius; this.content = this.props.content === undefined ? [<h2>header content</h2>, <p>body content</p>, <p>footer content</p>] : this.props.content; this.size = this.props.size === undefined ? 3 : this.props.size; } closeModal = () => { $('#'+this.id).removeClass("show"); $('body').removeClass("overflow-hidden"); }; render(){ $(`[data-modal]`).click( function () { var id = $(this).attr("data-modal"); var el = document.getElementById(id); $(el).addClass("show"); $('body').addClass("overflow-hidden"); }); var background, text; background = this.backgroudColorHeader; text = this.textColorHeader; const transparencyBackgroundHeader = background.substring(background.length-2,background.length-1) -.1; const backgroundColorHeader = `${background.substring(0,background.length-2)}${transparencyBackgroundHeader})`; const styleColorHeader = { backgroundColor: backgroundColorHeader, color: text, borderBottom: `1px solid ${background}` }; background = this.backgroudColorBody; text = this.textColorBody; const styleColorBody = { backgroundColor: background, color: text }; background = this.backgroudColorFooter; text = this.textColorFooter; const transparencyBackgroundFooter = background.substring(background.length-2,background.length-1) -.1; const backgroundColorFooter = `${background.substring(0,background.length-2)}${transparencyBackgroundFooter})`; const styleColorFooter = { backgroundColor: backgroundColorFooter, color: text, borderTop: `1px solid ${background}` }; const styleBorderRadius = {borderRadius: this.borderRadius}; const eDivision = ['h', 'b', 'f']; const eContent = this.content; var div = []; for (var i=0;i<eContent.length;i++){ const part = eDivision[i].replace('h', 'header').replace('b', 'body').replace('f', 'footer')+"-modal"; const closeModal = i === 0 ? <span onClick={this.closeModal} className="close-modal"><i className="material-icons">close</i></span> : "" ; var style; if (i===0) style = styleColorHeader; else if (i===1) style = styleColorBody; else style = styleColorFooter; div.push(<div key={i+1} className={part} style={style}> {closeModal} {eContent[i]} </div>); } const eSize = this.size; const s = ['s', 'm-s', 'm', 'm-l', 'l']; const size = s[eSize-1]; const classModal = (size !== "s" && size !== "m-s" && size !== "m" && size !== "m-l" && size !== "l") ? 'modal-modal modal-m' : "modal-modal modal-"+size; return <div id={this.id} className={classModal}> <div className="overflow-modal"> <div className="container-modal" style={styleBorderRadius}> {div} </div> </div> </div>; } }  
    • Por explosivemineyt
      Bom dia,
      Eu encontro-me a tentar realizar um formulário login do tipo google, mas apesar de estar a funcionar, por vezes quando recarrego a pagina aparece assim e tenho que carregar na pagina ou no campo ou outro local qualquer para atualizar.
       
      Gostaria de conseguir corrijir mas apesar de pesquisar não encontro como corrijir.
       
      o meu código html: 
      Meu código css: 
      Meu bootstrap.css(ficheiro muito grande, posso disponibilizar por um drive ou algo do genero) bootstrap versão v4.0.0
       




    • Por Andersonografia
      Gostaria de agradecer o topico do Tonga (topic/436039-resolvido refresh/) pois me esclareceu a criar um método prático para certificar se o form vem do botão ou do F5.
      Vou esclarecer também que só tenho essa necessidade quando o primeiro form do documento é um input, porque na maioria dos meus casos sempre é um search.  
       
      No Value do botão eu coloco o time:
      <button type="submit" name="carga" class="button" value="<?PHP echo $time;?>"> Coloco a condição se estiver setado e se for diferente da sessão:
      if(isset($_POST['carga'])) { $compara = ($_POST['carga']); if($compara != $_SESSION['compara']) { E depois do insert, ainda dentro da condição eu gravo a variável na sessão:
      $_SESSION['compara'] = $compara; Obrigado mais uma vez ao Tonga e ao Forum. Se alguém souber de um método mais prático, por gentileza será muito útil divulgar!!!!
    • Por yeahboy
      Quero que ao clicar em "Enviar consulta", execute um script .php que envie os dados no formulário para um .txt
      Eu mandaria pra db, mas ainda não aprendi, minha ideia com isso é apenas aprendizado em php, com testes locais.

    • Por Julle
      Porquê esse erro estar acontecendo?
       
       
       
      Notice: Undefined index: action in C:\xampp\htdocs\PhpProject1\index.php on line 4
      Nome:  
      Idade:  
      E-mail: 
      sexo:  > Masculino  >Feminino 
      Curso:               > selecione...              > Ciência da Computação                > Bacharelando em Informática              > Engenharia da Computação   
                
      Conhecimento:  >Microdoft Word  >HTML  >JavaScript  >PHP 
       
       
       
      Código: 
      <!DOCTYPE html>
      <?php
          if($_REQUEST["action"] =="save")
          { 
              
              
              $formValid = True;
              
              $tamanho_nome = strlen($_POST["CAMPO_NOME"]);
              if($tamanho_nome < 5|| $tamanho_nome > 64)
              {
                  echo("O campo  'NOME' deve ter entre 5 e 64 caracteres.".$tamanho_nome);
                  $formValid = FALSE;
              }
              
              $idade = (int)$_POST["CAMPO_IDADE"];
              if(is_NaN($idade)|| $idade < 4 || $idade > 120)
              {
                  echo("O campo 'Idade' deve ter preenchido corretamente."); 
                  $formValid = false; 
              }
              $email = $_POST["CAMPO_EMAIL"];
              $regex = 
              "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";
              if(!preg_match($regex, $email))
              {
                  echo("O campo 'E-mail' deve ter preenchido corretamente.");
                  $formValid = FALSE;
              }
              $sexo = $_POST["CAMPO_SEXO"];        
              if($sexo != "M" && $sexo != "F")
              {
                  echo("O campo 'sexo' deve ser preenchido.");
                  $formValid = FALSE;
              }
              $curso = $_POST["CAMPO_CURSO"];
              if($curso == "" || $curso == "Selecione . . .")
              {
                  echo("A campo 'curso' deve ser preenchido.");
                  $formValid = FALSE;
              }
              $conhecimento = $_POST["CAMPO_CONHECIMENTO"];
              if(sizeof($conhecimento)!= 2)
              {
                  echo("É necessário marcar 2 conhecimento.");
                  $formValid = FALSE;
              }
              if($formValid)
              {
                  echo("Formulário validado com sucesso");
                  exit();
              }
              
          }
          
        ?>
      <html>
          <head>
              <title>EXEMPLO - formulário</title>
              <script language=" JavaScrip">
              function validaForm()
              {
                  var tamanho_nome = document.forms["meuForm"].CAMPO_NOME.value.length;
                  if(tamanho_nome <5 || tamanho_nome >64)
                  {
                      alert("O campo 'nome' deve ter entre 5 e 64 caracteres");
                      return false;
                  }
                  var idade = document.forms["meuForm"].CAMPO_IDADE.value;
                  if(is_NaN($idade)|| $idade < 4 || $idade > 120)
                  {
                      echo("O campo 'Idade' deve ter preenchido corretamente."); 
                      return false;
                  }
                  var email = document.forms["meuForm"].CAMPO_EMAIL.value;
                  if(email.length<5 || email.length > 128 ||email.index0f(@) = = -1 ||
                  email.index0f('.') == -1){
                      alert("O campo 'Email' deve ter preenchido corretamente.");
                      return false;
                  }
                  var campo_sexo = document.forms["meuForm"].CAMPO_SEXO;
                  var sexo = false; 
                  for(i=0; i<campo_sexo.length;i++){
                      if(campo_sexo.checked == true)
                      {
                          sexo = campo_sexo.value;
                          brack;
                      }
                  }
                  if(sexo == false)
                  {
                      alert("O campo 'sexo' deve ser preenchido.");
                      return false;
                  }
                  var opcao_curso = document.forms["meuForm"].CAMPO_CURSO.selectedIndex;
                  if(opcao_curso == 0)
                  {
                      alert("O campo 'curso' deve ser preenchhido");
                      return false;
                  }
                  var conhecimento = document.forms["meuForm"].elements['CAMPO_CONHECIMENTOS[]'];
                  var conhecimentosMarcados =0;
                  for(i=0; i<conhecimentos.length; i++)
                  {
                      if(conhecimento.checked == true)
                      {
                          conhecimentosMarcados++;
                      }
                  }
                  if(conhecimentosMarcados != 2)
                  {
                      alert("É necessário marcar 2 conhecimento");
                      return false;
                  }
                  document.forms["meuForm"].submit();
                  
              }
              </script>
          </head>
          <body>
              
          <form method="POST" action="?action=save" name="meuForm">
                  
                  Nome:  <input type=TEXT name= "CAMPO_NOME" value=" <? echo $_POST[' CAMPO_NOME'];?>">
              <br>Idade: <input type=TEXT name="CAMPO_IDADE"  value="<? echo $_POST['CAMPO_IDADE'];?>">
              <br>E-mail:<input type=TEXT name="CAMPO_EMAIL"  value="<? echo $_POST['CAMPO_EMAIL'];?>">
              <br>sexo: <input type=RADIO name="CAMPO_SEXO" value="M"
                          <? if($_POST['CAMPO_SEXO']== "M"){echo "checked";}?> > Masculino
                          <input type=RADIO nome="CAMPO_SEXO" value="F"
                          <? if($_POST['CAMPO_SEXO']== "F"){echo "checked";}?> >Feminino
                  
                  
              <br>Curso: <select name= "CAMPO_CURSO">
                  <option <? if($_POST['CAMPO_CURSO']=="selecione . . . ")
                      { echo "selected";}?> > selecione...</option>
                  <option <? if($_POST['CAMPO_CURSO'] == "Ciência da Computação")
                      { eecho "selected";}?> > Ciência da Computação </option>
                  <option <? if($_POST['CAMPO_CURSO']=="Bacharelando em Informática")
                      { echo "selected";}?>  > Bacharelando em Informática</option>
                  <option <? if($_POST['CAMPO_CURSO']== " Engenharia da Computação")
                      {echo "selected";}?> > Engenharia da Computação </option>
              </select>
              
              <br>Conhecimento:
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="Word" 
                     <?if(in_aray("Word", $_POST['CAMPO_CONHECIMENTOS[]') != FALSE){echo "checked"; }?> >Microdoft Word
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="HTML"
                  <?if(in_aray("HTML",  $_POST['CAMPO_CONHECIMENTOS[]') != FALSE)
                  {echo "checked"; }?> >HTML
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="JS"
                   <?if(in_aray("JS",  $_POST['CAMPO_CONHECIMENTOS[]') != FALSE)
                  {echo "checked"; }?> >JavaScript
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="PHP"
                   <?if(in_aray("PHP",  $_POST['CAMPO_CONHECIMENTOS[]') != FALSE)
                  {echo "checked"; }?> >PHP
                  
              <br>
              <input type=RESET value="Limpar">
              <input type=BUTTON onClick="validaform();"value="Enviar">
          </form>     
              
                  
                           
          </body>
      </html>
×

Informação importante

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