Ir para conteúdo
finogatto

Receber dados de formulário e encaminhar para e-mail

Recommended Posts

Boa noite a todos! Preciso muito de uma ajuda

Eu tenho nível intermediário em HTML e não sei nada de PHP. Me ofereci para criar um formulário digital para meu chefe para substituir a quantidade de papel gasto no trabalho.

A parte de HTML ficou perfeita, do jeito que eu queria. Pesquisei diversos tutoriais e artigos sobre como usar o PHP para captar os dados preenchidos no formulário e encaminhar para um e-mail (Gmail).Usei todos os exemplos prontos que pesquisei na internet, configurei corretamente todas as informações e não funciona. Joguei todos os arquivos HTML e PHP no servidor de hospedagem (estou usando o Netlify em conjunto com o GitHub) mas na hora de testar o formulário, ao clicar em Enviar, aparece "Page Not Found" sendo que eu linkei no código HTML para o arquivo PHP. Estou usando o esquema do PHPmailer. Tentei também o programa XAMPP e estou com dificuldades em usá-lo. Uma coisa que reparei que por mais que eu tenha baixado o PHP e configurado conforme instruções que li na internet, tenho a impressão que não está instalado na minha máquina pq ao usar o cmd.exe e digitar "php -v" dá erro. Eu tenho digitado todo o código PHP no bloco de notas e salvado como arquivo PHP. Não sei se é por isso que não funciona.

Quem puder me dar uma força, agradeço de coração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola eu uso um para fazer recuperação de senha

 

mais a forma é a mesma que você precisa ai

 

apenas trocar os post pelos que você esta precisando ai

 


<?php  
	if(isset($_POST['enviar'])){
			include("conexao/conecta.php");
			
	$sql = "SELECT * from tb_config";
	try{
		$resultado = $conexao->prepare($sql);
		$resultado->execute();
		$contar = $resultado->rowCount();
		while($exibes = $resultado->fetch(PDO::FETCH_OBJ)){
		 define('NOMEEMPRESA', $exibes->titulo_empresa);
		 define('SITEURL', $exibes->site_url);
		 define('BASEURL', $exibes->base_url);
		 define('HOST', $exibes->host);
		 define('PORT', $exibes->port);
		 define('USERNAME', $exibes->username);
		 define('PASSWORD', $exibes->password);
	 
		 
		}
	}catch(PDOException $erro){ echo $erro;}			
	
			$nome    = utf8_decode (addslashes(strip_tags(trim($_POST['nome']))));
			$telefone    = utf8_decode (addslashes(strip_tags(trim($_POST['telefone']))));
			$email    = utf8_decode (addslashes(strip_tags(trim($_POST['email']))));
			$conteudo    = utf8_decode (addslashes(strip_tags(trim($_POST['conteudo']))));
			$assunto  ==  utf8_decode (addslashes(strip_tags(trim($_POST['assunto']))));
		
		try{
			//NÃO ESQUECER DE USAR PHPMailer
			require_once('envia-email/PHPMailer/class.phpmailer.php');
			
			$Email = new PHPMailer();
			$Email->SetLanguage("br");
			$Email->IsSMTP(); // Habilita o SMTP 
			$Email->SMTPAuth = true; //Ativa e-mail autenticado
			$Email->Host = HOST; //mail.seudominio.com.br  Servidor de envio # verificar qual o host correto com a hospedagem as vezes fica como smtp.
			$Email->Port = PORT; // 587 Porta de envio - verificar com o servidor
			$Email->Username = USERNAME; //email@seudominio.com.br e-mail que será autenticado
			$Email->Password = PASSWORD; //suasenha  senha do email
			// ativa o envio de e-mails em HTML, se false, desativa.
			$Email->IsHTML(true); 
			// email do remetente da mensagem
			$Email->From = 'email@seudominio.com.br';
			// nome do remetente do email
			$Email->FromName = utf8_decode($email);
			// Endereço de destino do emaail, ou seja, pra onde você quer que a mensagem do formulário vá?
			$Email->AddReplyTo($email, NOMEEMPRESA);
			$Email->AddAddress($email); // para quem será enviada a mensagem
			// informando no email, o assunto da mensagem
			$Email->Subject = utf8_decode($assunto);
			// Define o texto da mensagem (aceita HTML)
			$Email->Body .= "Informações:<br /><br />
							 <strong>Nome:</strong> $nome<br />
							 <strong>Telefone:</strong> $telefone<br />
							 <strong>E-mail:</strong> $email<br />
							 <strong>Descrição:</strong> $conteudo<br />
							 
							 <strong>Obs:</strong> Voc&ecirc; n&atilde;o precisa responder &agrave; este e-mail
							 
							";
			// verifica se está tudo ok com oa parametros acima, se nao, avisa do erro. Se sim, envia.
			if(!$Email->Send()){
				echo '<div class="alert alert-danger">
                      <button type="button" class="close" data-dismiss="alert">×</button>
                      <strong>Erro ao enviar!</strong> Houve um problema ao recuperar sua senha, contate o administrador.
                </div>';
				echo "Erro: " . $Email->ErrorInfo;
			}else{
				echo '<div class="alert alert-success">
                      <button type="button" class="close" data-dismiss="alert">×</button>
                      <strong>Sucesso!</strong> Uma mensagem com as informações de acesso foi enviada p/ o e-mail informado.
                </div>';
			}	
				
						
		}catch(PDOException $e){
			echo $e;
		}	
	}// se clicar
?>    

<div class="account-container">
	
	<div class="content clearfix">
		
		<form action="" method="post" enctype="multipart/form-data">
				
				<div class="field">
					<label for="nome">Nome:</label>
					<input type="text" id="nome" name="nome" value="" placeholder="Nome Completo"  required />
				</div> <!-- /field -->
				<div class="field">
					<label for="telefone">Telefone/WhatsApp:</label>
					<input type="text" id="telefone" name="telefone" value="" placeholder="Telefone ou WhatsApp"  required />
				</div> <!-- /field -->				
				<div class="field">
					<label for="email">E-mail:</label>
					<input type="text" id="email" name="email" value="" placeholder="E-mail"  required />
				</div> <!-- /field -->				
				<div class="field">
					<label for="assunto">Assunto:</label>
					<input type="text" id="assunto" name="assunto" value="" placeholder="Assunto"  required />
				</div> <!-- /field -->					
			</div> <!-- /login-fields -->
				<div class="field">
					<label for="conteudo">Descrição:</label>
					<textarea name="conteudo"  placeholder="Deixe aqui a sua mensagem!!"  required ></textarea>
				</div> <!-- /field -->					
			</div> <!-- /login-fields -->			
			<div class="login-actions">
				<input type="submit" class="button btn btn-primary btn-large" name="enviar" value="Enviar">
			</div> <!-- .actions -->
			
		</form>
		
	</div> <!-- /content -->
	
</div> <!-- /account-container -->

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@finogatto vamos por parte.

Algum arquivo php funciona?

Está rodando a aplicação local ou em uma hospedagem? isso não ficou claro.

Se em uma hospedagem ela tem o apache e o php instalado?

Se em uma hospedagem ela permite protocolos POST?

 

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

×

Informação importante

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