Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo-SC

[Resolvido] Erro no formulario de contato!

Recommended Posts

Bom, agradeço quem puder ajudar!

desculpe se o post esta errado, mas este erro é especifico...

 

 

Problema:

 

pre configurei um formulario de contato num site e peguei o codigo,

mas como ainda sou leigo em php, o arquivo contato.php esta com alguns erros

 

*email recebido so contem isso:

Nome:

E-mail:

Fone:

Assunto:

Mensagem:

======================

 

*apos clicar em enviar aparece: "Contato Enviado com Sucesso! Aguarde nosso retorno!. "

 

 

 

 

Resoluçao do problema:

 

gostaria que o conteudo fosse enviado corretamente pro email

e tambem que haja um alerta de javascript assim: "Mensagem enviada com sucesso"

e logo apos carregue a pagina http://www.caldasimo...om/contato.html

 

 

 

 

 

 

 

 

 

o link do formuario é esse:

http://www.caldasimo...om/contato.html

 

a baixo segue o codigo php do contato.php

 

<?
// Coloque o email que ir receber os valores
$to = "contato@caldasimoveis.com";
//Recebe os valores dos campos…
// Perceba que os valores só resgatados com $_POST[], pois no formulário o método de envio 

foi o post e no get!
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$msg = $_POST['mensagem'];
$msg = nl2br($msg); // Todos os Enter's teclados pelo usuário serão transformados em <br />
// Caso algum campo se encontre vazio ele retorna a página de envio!
if($nome == NULL || $email == NULL || $assunto == NULL || $msg == NULL):
?>
<script language="Javascript">alert('Há campos requeridos em branco!');
location.href='http-~~-//www.caldasimoveis.com/contato.html';
</script>
<?
// ainda dentro do if, ele pra a execução e fecha o if aps isso
exit;
endif;
// Aqui ele verifica se o email contém caracteres válidos!
// Esse sistema conhecido como Expresses Regulares…
$pattern = "^(A-Z_a-z)+@(a-zA-Z)+";
// Caso a verificação retorne falso, ou seja, o email digitado inválido, ele volta para o 

formulário
if(ereg($pattern,$email) == false):
?>
<script language="Javascript">alert('O email no válido');
location.href='http-~~-//www.caldasimoveis.com/contato.html';
</script>
<?
// Pra a execução do sistema e termina o if
exit;
endif;
// Agora ele est montando o corpo da mensagem para enviar ao email…
$mensagem = "Mensagem enviada por" : ".$nome." em: ".data("d/m/Y – H:i")."\n <br />
Abaixo seguem os dados do usuário:\n <br />
Email: ".$email."\n <br />
Assunto: ".$assunto."\n <br />
A mensagem enviada a você foi a seguinte: \n <br />
".$msg;
// Define os cabeçalhos do email…
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
// headers adicionais
$headers .= "From: $email <$email>\r\n";
// finalmente ele envia o Email para o local escolhido lá em cima….
mail($to,$assunto,$mensagem,$headers);
?>

<script language="Javascript">alert('Sua mensagem foi enviada com êxito!');
location.href='http-~~-//www.caldasimoveis.com/';
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eae amigo, creio que o problema seja essas aspas estranhas,

mas tbm achei outros erros, como a função data(), que deveria ser date(),

na montagem da mensagem tbm há erros.

 

Fiz umas alterações, inclusive removi essas aspas, segue o código:

 

<?php
// Coloque o email que ir receber os valores
$to = "contato@caldasimoveis.com";

// Recebe os valores dos campos...
$nome = $_POST["nome"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$msg = nl2br($_POST["mensagem"]);

// Caso algum campo se encontre vazio ele retorna a página de envio!
if(empty($nome) || empty($email) || empty($assunto) || empty($msg)) {
?>
	<script language="Javascript">alert("Há campos requeridos em branco!"); location.href="http://www.caldasimoveis.com/contato.html";</script>
<?php
}
// Aqui ele verifica se o email é válido!
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
?>
	<script language="Javascript">alert("O email não é válido");location.href="http://www.caldasimoveis.com/contato.html";</script>
<?php
}

	// Agora ele monta o corpo da mensagem para enviar ao email...
	$mensagem = "Mensagem enviada por: {$nome} em: " . date("d/m/Y – H:i") . "<br />" . PHP_EOL;
	$mensagem .= "Abaixo seguem os dados do usuário:<br />" . PHP_EOL;
	$mensagem .= "Email: {$email}<br />" . PHP_EOL;
	$mensagem .= "Assunto: {$assunto}<br />" . PHP_EOL;
	$mensagem .= "A mensagem enviada à você foi a seguinte:<br />" . PHP_EOL;
	$mensagem .= $msg;
	
	// Define os cabeçalhos do email...
	$headers = "MIME-Version: 1.0\r" . PHP_EOL;
	$headers .= "Content-type: text/html; charset=iso-8859-1\r" . PHP_EOL;
	// headers adicionais
	$headers .= "From: {$email} <{$email}>\r" . PHP_EOL;
	
	// finalmente ele envia o Email para o local escolhido lá em cima...
	if(mail($to, $assunto, $mensagem, $headers)) {
		echo "<script language='Javascript'>alert('Sua mensagem foi enviada com êxito!');location.href='http://www.caldasimoveis.com/';</script>";
	} else {
		echo "<script language='Javascript'>alert('Sua mensagem não foi enviada.');location.href='http://www.caldasimoveis.com/';</script>";
	}	
?>

Espero que consiga usar, qualquer erro só postar aqui que nós resolvemos :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Renato,

como ja falei sou leigo em php ainda

espero algum dia estar ajudando alguem, depois de eu estudar...

 

ajustei o nome do contato.pgp no codigo html

pois tava enviar.php

e utilizei sua configuraçao php... funcionou

 

pra leigo e quase impossivel achar um form generator 100%

obrigado mesmo amigo!

 

 

mas ta com um errinho ainda

no formulario tem telefone

acredito que o php nao esteja configurado pra enviar esse campo pro email!

 

os text field desses 2 campos sao: telefone[area] e telefone[phone]

Compartilhar este post


Link para o post
Compartilhar em outros sites

depois de

$msg = nl2br($_POST["mensagem"]);

Adicione

$tel = "(" . $_POST["telefone"]["area"] . ") " . $_POST["telefone"]["phone"];

Se quiser que o tel seja de preenchimento obrigatório, troque

if(empty($nome) || empty($email) || empty($assunto) || empty($msg)) {

Por

if(empty($nome) || empty($email) || empty($assunto) || empty($msg) || empty($_POST["telefone"]["area"]) || empty($_POST["telefone"]["phone"])) {

Agora depois de

$mensagem .= "Email: {$email}<br />" . PHP_EOL;

Adicione

$mensagem .= "Telefone: {$tel}<br />" . PHP_EOL;

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.