Ir para conteúdo

POWERED BY:

Arquivado

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

Dinamiki

[Resolvido] Formulario de Contato

Recommended Posts

Bom, eu to com um formulário de contato aqui comigo que funciona mais ai eu achei um que e bem mais dinamico e que interage com o usuario, só q não consigo fazer ele funcionar,as mesmas funções q estava em um tbm está no outro, mais mesmo assim não consigo fazer ele funcionar, o site onde eu hospedo tem suporte SMTP então erá pra pegar mais não pega, o estranho é que o outro q é mais feinho pega normal!!

 

O que falta para esse danado funcionar?

 

Link do formulario para download:

http://www.megaupload.com/?d=AGCUVDZR

 

Desde já grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu baixei o arquivo e ta uma bagunça de código.

Tanto o html quando o php.

 

Mas o primeiro erro, e mais visivel, é que o PHP não ta pegando os dados via POST, vindos do formulário.

 

Para isso basta colocar nas primeiras linha do PHP, isso aqui.

 

$nome = $_POST['nome'];

É so fazer o mesmo com os outros campos.

Se surgir mais problemas, aí posta aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom esse é o arquivo enviar.php:

 

<?php
					
if (!$nome || !$email || !$assunto || !$mensagem) {
  echo "<DIV align=center><p align=center><font face=Verdana, Arial size=2 color=#FF9933>Favor preencher os dados corretamente!<br>";
  echo "<a href=\"java script:history.back(1)\">Voltar</a>";
 }else{
 echo "
					<tr> 
					  <TD height=22 colspan=3> <p align=center><font face=Verdana size=1>Olá 
						  <font color=#FF0000><b>$nome</b></font>,</font> 
					  </TD>
					</tr>
					<TR> 
					  <TD height=22 colspan=3> <p align=center><font face=Verdana size=1>Sua 
						  mensagem foi enviada com sucesso!</font> </TD>
					</TR>
					<tr> 
					  <TD height=22> </TD>
					  <TD></TD>
					  <TD></TD>
					</tr>
					<TR> 
					  <TD height=23 colspan=3> <p align=center><font face=Verdana size=1>Obrigado 
						  por nos escutar.</font> </TD>
					</TR>
					<tr> 
					  <TD height=23 colspan=3> <p align=center><font face=Verdana size=1>Atenciosamente!</font> 
					  </TD>
					</tr>";
 $mens = "<font size=2 face=Verdana><p align=center>:: Sistema de formulário ::<br><br></p></font>";
 $mens .= "<font size=1 face=Verdana><b>Nome:</b> $nome</font><br><br>";
 $mens .= "<font size=1 face=Verdana><b>E-mail:</b> $email</font><br>";
 $mens .= "<font size=1 face=Verdana><b>Assunto:</b> $assunto</font><br>";
 $mens .= "<font size=1 face=Verdana><b>Mensagem:</b> $mensagem</font><br><br>";

 $headers = "MIME-Version: 1.0\r\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 $headers .= "From: 'Formulário'\r\n";
 
   mail("studioo8_@hotmail.com","Formulário de contato","$mens", $headers);
echo "					<TR> 
					  <TD height=13> </TD>
					  <TD></TD>
					  <TD></TD>
					</TR>
					<TR>
					  <TD height=12></TD>
					  <TD valign=top><div align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=index.htm>Voltar</a></font></div></TD>
					  <TD></TD>
					</TR>";
					}
					?>

Eu coloquei as seguintes linhas depois de <?php :

$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
e dá erro nessas 4 linhas fora está seguinte linha tbm:

if (!$nome || !$email || !$assunto || !$mensagem) {
o que posso fazer para arrumar isso, está mesmo uma bagunça!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ta tinha esquecido de dar refresh no codigo, mais agora eu digito as informações tudo certinho lá ai manda para a pagina que diz se a mensagem foi enviado ou não foi enviada com sucesso, mas aparece isso na pagina da internet:

 

Favor preencher os dados corretamente!
"; echo "Voltar"; }else{ echo "
"; $mens = "

:: Sistema de formulário ::

"; $mens .= "Nome: $nome

"; $mens .= "E-mail: $email
"; $mens .= "Assunto: $assunto
"; $mens .= "Mensagem: $mensagem

"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: 'Formulário'\r\n"; mail("studioo8_@hotmail.com","Formulário de contato","$mens", $headers); echo " "; } ?>
		

Olá $nome,

Sua mensagem foi enviada com sucesso!
		

Obrigado por nos escutar.

Atenciosamente!
		
	
Voltar
	
		  

.: Desenvolvido por Studio8 :: Versão 2.0 :.

fica aparecendo os codigo do php, algo no codigo do php está errado...

 

Meu arquivo php ta assim:

<?php

$nome = $_POST['nome'];

$email = $_POST['email'];

$assunto = $_POST['assunto'];

$mensagem = $_POST['mensagem'];

 

if (!$nome || !$email || !$assunto || !$mensagem) {

echo "<DIV align=center><p align=center><font face=Verdana, Arial size=2 color=#FF9933>Favor preencher os dados corretamente!<br>";

echo "<a href=\"java script:history.back(1)\">Voltar</a>";

}else{

echo "

<tr>

<TD height=22 colspan=3> <p align=center><font face=Verdana size=1>Olá

<font color=#FF0000><b>$nome</b></font>,</font>

</TD>

</tr>

<TR>

<TD height=22 colspan=3> <p align=center><font face=Verdana size=1>Sua

mensagem foi enviada com sucesso!</font> </TD>

</TR>

<tr>

<TD height=22> </TD>

<TD></TD>

<TD></TD>

</tr>

<TR>

<TD height=23 colspan=3> <p align=center><font face=Verdana size=1>Obrigado

por nos escutar.</font> </TD>

</TR>

<tr>

<TD height=23 colspan=3> <p align=center><font face=Verdana size=1>Atenciosamente!</font>

</TD>

</tr>";

$mens = "<font size=2 face=Verdana><p align=center>:: Sistema de formulário ::<br><br></p></font>";

$mens .= "<font size=1 face=Verdana><b>Nome:</b> $nome</font><br><br>";

$mens .= "<font size=1 face=Verdana><b>E-mail:</b> $email</font><br>";

$mens .= "<font size=1 face=Verdana><b>Assunto:</b> $assunto</font><br>";

$mens .= "<font size=1 face=Verdana><b>Mensagem:</b> $mensagem</font><br><br>";

 

$headers = "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$headers .= "From: 'Formulário'\r\n";

 

mail("studioo8_@hotmail.com","Formulário de contato","$mens", $headers);

echo " <TR>

<TD height=13> </TD>

<TD></TD>

<TD></TD>

</TR>

<TR>

<TD height=12></TD>

<TD valign=top><div align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=index.htm>Voltar</a></font></div></TD>

<TD></TD>

</TR>";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

junte a palavra javascript e teste novamente

O fórum separa javascript por segurança, mas o correto é junto. Talvez você tenha copiado com erro.

 

Se o erro persistir, coloque isto no topo do script:

 

print_r($_POST);

Poste o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ta agora consegui, mais só q a mensagem está sendo enviado como esse nome: 'Formul?rio'@17-freewebhostingarea-com.orgfree.com

como faço para deixar outro nome?

não é o assunto é o nome q vem antes do assunto, como por exemplo o nome de quem enviou a mensagem, como eu hospedei esse formulario para mim testar nesse site q é gratuito: www.orgfree.com

aparece quando recebo a mensagem o nome q eu disse ai em cima!

Já revirei todo o script e não encontrei essa parte do nome!!

 

alias até encontrei mais está assim:

$headers .= "From: 'Formulário'\r\n";
Só está como formulário não tem nada de @17-freewebhostingarea-com.orgfree.com

 

obs: No formulario q eu tinha o antigo ele enviava com o nome certinho sem esse @17-.....[/url]

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ta agora consegui, mais só q a mensagem está sendo enviado como esse nome: 'Formul?rio'@17-freewebhostingarea-com.orgfree.com

como faço para deixar outro nome?

Troque os headers da sua mensagem.

Tente esses.

 

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$nome.' <'.$email.'>' . "\r\n";
$headers .= 'To: Formulário <seu@email.com>' . "\r\n";

Onde $nome contem o nome de quem ta enviando a mensagem do formulário, e $email o email desta pessoa.

 

o site é ruim que até o arquivo enviar.php está sumindo sozinho, alguem sabe um outro site free q tenha suporte php,SMTP, banco de dados....

000webhost

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou, muito obrigado!!

 

Para q uma pessoa não fique mandando mensagem em branco como q faz a certificação dos campos?

 

E o site 000webhost , eu até conhecia ele mais com a frescura de confirmar ip q eles colocaram num tem nem como acessar tudo certo...

 

o arquivo de confirmação de ip sempre vem com um trojan!!

mais como Brasileiro é triste concerteza já tem gente q sabe burla isso!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta, agora só falta um detalhe, quando digito o e-mail desse geito: husahausha

sem o @ ele envia a mensagem tem como eu fazer com q o uso do @ no campo de e-mail seja obrigatório??

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
function checaEmail($email)
{
	if (eregi("^[-_a-z0-9]+(\.[-_a-z0-9]+)*\@([-a-z0-9]+\.)*([a-z]{2,4})$", $email))
	{
	   return true;
	}
	else
	{
	   return false;
	}	
}
?>

Para usar esta função, basta fazer assim.

 

if ( checaEmail($email) == 'false' ) {

header("Location:index.php?mensagem=emailInvalido");
exit();

}

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

function checaEmail($email)
{
	if (eregi("^[-_a-z0-9]+(\.[-_a-z0-9]+)*\@([-a-z0-9]+\.)*([a-z]{2,4})$", $email))
	{
	   return true;
	}
	else
	{
	   return false;
	}	
}

					
					
					$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

if ( checaEmail($email) == 'false' ) {

header("Location:index.php?mensagem=emailInvalido");
exit();

}

if (!$nome || !$email || !$assunto || !$mensagem) {
  echo "<DIV align=center><p align=center><font face=Verdana, Arial size=2 color=#FF9933>Favor preencher os dados corretamente!<br>";
  
  echo "<a href=\"java script:history.back(1)\">Voltar</a>";
 }else{
 echo "
					<tr> 
					  <TD height=22 colspan=3> <p align=center><font face=Verdana size=1 color=#FFFFFF>Olá 
						  <font color=#FF0000><b>$nome</b></font>,</font> 
					  </TD>
					</tr>
					<TR> 
					  <TD height=22 colspan=3> <p align=center><font face=Verdana size=1 color=#FFFFFF>Sua 
						  mensagem foi enviada com sucesso!</font> </TD>
					</TR>
					<tr> 
					  <TD height=22> </TD>
					  <TD></TD>
					  <TD></TD>
					</tr>
					<TR> 
					  <TD height=23 colspan=3> <p align=center><font face=Verdana size=1 color=#FFFFFF>Obrigado 
						  por nos escutar.</font> </TD>
					</TR>
					<tr> 
					  <TD height=23 colspan=3> <p align=center><font face=Verdana size=1 color=#FFFFFF>Atenciosamente!</font> 
					  </TD>
					</tr>";
 $mens = "<font size=2 face=Verdana><p align=center>:: Pedido de Músicas ::<br><br></p></font>";
 $mens .= "<font size=1 face=Verdana><b>Nome:</b> $nome</font><br><br>";
 $mens .= "<font size=1 face=Verdana><b>E-mail:</b> $email</font><br>";
 $mens .= "<font size=1 face=Verdana><b>Assunto:</b> $assunto</font><br>";
 $mens .= "<font size=1 face=Verdana><b>Mensagem:</b> $mensagem</font><br><br>";

 $headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$nome.' <'.$email.'>' . "\r\n";

 
   mail("studioo8_@hotmail.com","Pedido","$mens", $headers);
echo "					<TR> 
					  <TD height=13> </TD>
					  <TD></TD>
					  <TD></TD>
					</TR>
					<TR>
					  <TD height=12></TD>
					  <TD valign=top><div align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=index.htm>Voltar</a></font></div></TD>
					  <TD></TD>
					</TR>";
					}
					?>

assim não deu não em...

Ta indo normal mesmo se não ter o @ no campo de e-mail!!

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.