Ir para conteúdo

POWERED BY:

Arquivado

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

Alex_182721

[Resolvido] Problemas com formulário

Recommended Posts

Pessoal, é meu primeiro post aqui no fórum, mas sempre os acompanhei. Como sempre, sou mais um a pedir socorro a vocês... Acredito que meu problema é bem comum,e simples. É o seguinte: tenho um formulário em HTML e um arquivo PHP que envia os dados para meu e-mail. O problema consiste na validação de campos e envio desses dados, pois mesmo quando o formulário indica erro, os campos vão em branco. Ressaltando que o formulário não possui nenhuma mensagem de erro, são erros apontados nas linhas, quando a pessoa envia o form sem preencher qualquer campo.

 

Portanto, o problema:

 

Colocar validação nos campos, se possível em PHP, pois sabemos que js pode ser desabilitado. Fazer que o form seja enviado somente quando todos os campos obrigatórios forem preenchidos.

 

Pessoal, preciso também validação para E-MAIL E NÚMEROS (tel), tentei fazer, porém sem êxito...

 

CÓDIGOS:

<html>
<form name="senddata" method="post" action="form.php">




<table width="100%" border="0" cellspacing="2" cellpadding="2">

<tr>
<td class="tahoma-02-cinza"><div align="right">Proprietário:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="proprietario" type="text" readonly="readonly" value="E-MAIL_ESTÁTICO@hotmail.com" class="fomu" size="38"/>
</font></i></b></td>
</tr>

<tr>
<td class="tahoma-02-cinza"><div align="right">Nome:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="nome" type="text" class="fomu" size="38"/>
</font></i></b></td>
</tr>


<tr>
<td class="tahoma-02-cinza"><div align="right"><b>E-mail:<i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="email" type="text" class="fomu" size="38"/>
</font></i></b></td>
</tr>
<tr>


<td class="tahoma-02-cinza"><div align="right">Telefone:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<input name="telefone" type="text" class="fomu" id="telefone2" size="38"/>
</font></i></b></td>
</tr>




<tr>
<td class="tahoma-02-cinza"><div align="right"><b>Cidade:<i><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000"></font></i></b></i></b></div></td>
<td><b><i><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000">
<input name="cidade" type="text" class="fomu" size="38"/>
</font></i></b></i></b></td>
</tr>



<tr>
<td class="tahoma-02-cinza"><div align="right">Assunto:<b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000">
<input name="assunto" type="text" class="fomu" size="38"/>
</font></i></b></td>
</tr>


<tr>
<td class="tahoma-02-cinza"><div align="right"><b>Mensagem:<i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
<td><b><i><font size="1" face="Verdana" color="#FFFFFF">
<textarea name="textodamensagem" cols="36" rows="4" class="fomu">Escreva sua proposta...</textarea>
</font></i></b></td>

</tr>


<tr>
<td></td>
<td><input name="resetar" type="reset" class="formcop" value="Apagar"/><input name="enviar" type="submit" class="formcop" value="Enviar Mensagem"/></td>


</tr>
</table>
</form>
</html>

 

 

PHP PARA ENVIAR


<?php
$date = date("d/m/Y H:i");

// ****** ATENÇÃO ********
// ABAIXO ESTÁ A CONFIGURAÇÃO DO SEU FORMULÁRIO.
// ****** ATENÇÃO ********

// RECEBE OS VALORES VINDO DO FORMULÁRIO E ATRIBUI AS VARIÁVEIS
$proprietario = $_POST['proprietario'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$cidade = $_POST['cidade'];
$assunto = $_POST['assunto'];
$textodamensagem = $_POST['textodamensagem'];

//CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE
$nome_do_site="www.buscola.com.br";
$email_para_onde_vai_a_mensagem = "$proprietario\n";
$nome_de_quem_recebe_a_mensagem = "buscola";
$exibir_apos_enviar='enviado.html';

//MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL
$cabecalho_da_mensagem_original="From: $name <$email>\n";
$assunto_da_mensagem_original="Contato no Site";

// FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO)
// ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO *************
$configuracao_da_mensagem_original="

ENVIADO POR:\n

Nome: $nome\n
Email: $email\n
Telefone: $telefone\n
Cidade: $cidade\n
Assunto: $assunto\n
Mensagem: $textodamensagem\n
ENVIADO EM: $date

";

//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "Confirmação";
$cabecalho_da_mensagem_de_resposta = "From: $nome_do_site < $email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEstaremos respondendo em breve...\nE-mail do proprietário: $proprietario\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date";

// ****** IMPORTANTE ********
// A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE
// ****** IMPORTANTE ********

//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="s";

//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";

if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_original";
}
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);

//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_de_resposta";
}else{
$assunto = "Re: $assunto";
}

$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);
echo "<script>window.location='$exibir_apos_enviar'</script>";

?>

 

 

Pessoal, tentei ser bem claro. Espero que vocês me ajudem...

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, peço desculpas para não poder trabalhar muito em cima do seu código

 

>> Eu recomendaria usar javascript (mesmo ele poder ser bloqueado)

>> Não recomendaria o uso de tabela, mas sim o uso de tableless

>> Organize melhor seu código (vai te ajudar)

 

Eu fiz um exemplo basicão pra você não sei se é realmente isso que você queria

 

Página do form

 

<!HTML>
<html>
<head>
<title>Formulario</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="senddata" method="post" action="form_valida.php">
  <table width="100%" border="0" cellspacing="2" cellpadding="2">
     <tr>
        <td class="tahoma-02-cinza"><div align="right">Proprietário:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
        <td><b><i><font size="1" face="Verdana" color="#FFFFFF">
           <input name="proprietario" type="text" readonly="readonly" value="E-MAIL_ESTÁTICO@hotmail.com" class="fomu" size="38"/>
           </font></i></b></td>
     </tr>
     <tr>
        <td class="tahoma-02-cinza"><div align="right">Nome:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
        <td><b><i><font size="1" face="Verdana" color="#FFFFFF">
           <input name="nome" type="text" class="fomu" size="38"/>
           </font></i></b></td>
     </tr>
     <tr>
        <td class="tahoma-02-cinza"><div align="right"><b>E-mail:<i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
        <td><b><i><font size="1" face="Verdana" color="#FFFFFF">
           <input name="email" type="text" class="fomu" size="38"/>
           </font></i></b></td>
     </tr>
     <tr>
        <td class="tahoma-02-cinza"><div align="right">Telefone:<b><i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
        <td><b><i><font size="1" face="Verdana" color="#FFFFFF">
           <input name="telefone" type="text" class="fomu" id="telefone2" size="38"/>
           </font></i></b></td>
     </tr>
     <tr>
        <td class="tahoma-02-cinza"><div align="right"><b>Cidade:<i><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000"></font></i></b></i></b></div></td>
        <td><b><i><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000">
           <input name="cidade" type="text" class="fomu" size="38"/>
           </font></i></b></i></b></td>
     </tr>
     <tr>
        <td class="tahoma-02-cinza"><div align="right">Assunto:<b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000"></font></i></b></div></td>
        <td><b><i><font size="1" face="Verdana" color="#FFFFFF; color:#C40000">
           <input name="assunto" type="text" class="fomu" size="38"/>
           </font></i></b></td>
     </tr>
     <tr>
        <td class="tahoma-02-cinza"><div align="right"><b>Mensagem:<i><font size="1" face="Verdana" color="#FFFFFF"></font></i></b></div></td>
        <td><b><i><font size="1" face="Verdana" color="#FFFFFF">
           <textarea name="textodamensagem" cols="36" rows="4" class="fomu">Escreva sua proposta...</textarea>
           </font></i></b></td>
     </tr>
     <tr>
        <td></td>
        <td><input name="resetar" type="reset" class="formcop" value="Apagar"/>
           <input name="enviar" type="submit" class="formcop" value="Enviar Mensagem"/></td>
     </tr>
  </table>
</form>
</body>
</html>

 

Página da validação

 

<?php

//puxa dados
$proprietario = $_POST['proprietario'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$cidade = $_POST['cidade'];
$assunto = $_POST['assunto'];
$obs = $_POST['textodamensagem'];

//verificação
if(empty($nome)){
echo "Por favor preencha o nome!";
exit;
}
if(empty($email)){
echo "Por favor preencha o email!";
exit;
}
if(empty($telefone)){
echo "Por favor preencha o telefone!";
exit;
}
if(!is_nan($telefone)){
echo "Somente numeros no telefone";
exit;
}
if(empty($cidade)){
echo "Por favor preencha a cidade!";
exit;
}
if(empty($assunto)){
echo "Por favor preencha o assunto!";
exit;
}
if(empty($obs)){
echo "Por favor preencha a observação!";
exit;
}

//Mensagem personalizada
$assunto = "CONTATO WEB SITE - $nome";
$mensagem = "<!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>
<title>Contato Web Site Festival de Dança</title>
<style type='text/css'>
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #DFDFDF;
}
-->
</style>

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
<style type='text/css'>
<!--
a:link {
color: #000000;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: underline;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
.style3 {
font-family: verdana;
font-size: 11px;
}
-->
</style></head>

<body>
<table width='475' height='22' border='0' cellpadding='0' cellspacing='4' bordercolor='#E5E5E5' bgcolor='#FFFFFF' class='tabela'>
 <tr>
   <td colspan='2'><center>
     <table width='453' border='0' cellpadding='0' cellspacing='0' class='link_estilo1'>

       <tr>
         <td width='25'> </td>
         <td width='428'><strong><span class='style3'>CONTATO WEB SITE  - <a href='http://www.festivaldedancapiratuba.com.br' target='_blank' class='link_estilo1'>www.festivaldedancapiratuba.com.br </a></span></strong></td>
       </tr>
     </table>
     </center></td>
 </tr>
 <tr>
   <td colspan='2'> </td>
 </tr>

 <tr>
   <td width='79' class='style3'>Proprietario:</td>
   <td width='384' class='style3'>$proprietario</td>
 </tr>
 <tr>
   <td width='79' class='style3'>Nome:</td>
   <td width='384' class='style3'>$nome</td>
 </tr>

 <tr>
   <td class='style3'>Email:</td>
   <td class='style3'>$email</td>
 </tr>

 <tr>
   <td class='style3'>Assunto:</td>
   <td class='style3'>$assunto</td>
 </tr>

 <tr>
   <td align='left'><span class='style3'>Cidade:</span></td>
   <td align='left'><span class='style3'>$cidade</span></td>
 </tr>

 <tr>
   <td class='style3'>Telefone:</td>
   <td class='style3'>$fone</td>
 </tr>

 <tr>
   <td colspan='2'><strong class='style3'>Mensagem:</strong></td>
 </tr>
 <tr>
   <td colspan='2' class='style3'>$obs</td>
 </tr>
</table>
</body>
</html>";

//email do destino
$destinatario = "email_de_envio@provedor.com.br";

$de = "$nome";

//cabeçalho que aceita html (não tirar MIME)
$cabecalho = "MIME-Version: 1.0\n";
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\n";
$cabecalho .= "From: $de <$destinatario>\r\n";
$cabecalho .= "Reply-To: $email\r\n";

//envia o email
mail($destinatario, $assunto, $mensagem, $cabecalho);

// jogar a pagina que sera exibida quando for enviado
echo "<META HTTP-EQUIV='REFRESH' CONTENT='0; URL=contato_ok.php'>";
?>

 

>> Coloquei alguns comentários para te ajudar

>> Dúvidas só postar

>> Pesquise no google sempre (isso tb vai te ajudar)

>> Não fique mal acostumado

>> Para jogar todas as mensagens tire o exit

>> Como falei isso foi por cima você pode personalizar ele

 

espero ter ajudado

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer com if and também..um exemplo:

 

<?php
$dbc = mysqli_connect('host', 'username', 'senha', 'database');

$nome = $_POST['nome'];
$idade = $_POST['idade'];
$cidade = $_POST['cidade'];


if (!empty($nome) && is_numeric($idade) && !empty($cidade)) {

escreva todo código que você quer que execute quando todos os campos estiverem preenchidos... 

}
else {

echo 'falta preencher algum campo';

}

?>

 

Este é um exemplo só, você pode também verificar campo por campo para ver se esta preenchido ou não e retornar uma menssagem se determinado campo estiver vazio...este exemplo é genérico e não informa qual campo encontra-se ou não vazio, ele só informa que há algum campo vazio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo a validação está no seu código.. (da uma olhadinha)

 

é só uma questão de você acrescentar ou apagar as verificações..

 

pode fazer como o Tiago falou também..

 

é uma validação extremamente simples

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, eu agradeço muito a disponibilidade de vocês... Eu só recorri ao fórum porque realmente php é difícil... pelo menos eu acho rsrs, ainda estou estudando isso. Antes de perguntar para o pessoal aqui, eu tento de tudo, é que às vezes não tenho as respostas... mas em fim, eu não estou conseguindo de jeito algum validar o formulário, sempre quando edito o arquivo com os exemplos que vocês indicam, acontecem erros, talvez seja por que eu ainda estou iniciando no PHP.

 

Mas enfim, ainda não consegui validar esse bendito formulário...

 

Vou continuar tentando aqui, qualquer dúvida eu posto.

 

Valeu, pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você precisa condicionar a validação ao preeencimento correto do form.

 

entenda a dinamica:

 

 

pseudo codigo

 

if( form preeenchido corretamente )

envia email

else

mostra mensagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, esta é a validação que me indicaraam e que editei e estou testando:

 

//puxa dados

$proprietario = $_POST['proprietario'];

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$cidade = $_POST['cidade'];

$assunto = $_POST['assunto'];

$obs = $_POST['textodamensagem'];

 

//verificação

if(empty($nome)){

echo "<script>alert('Preencha o nome');history.back();</script>";

 

}

if(empty($email)){

echo "<script>alert('Preencha o email');history.back();</script>";

 

}

 

if(empty($telefone)){

echo "<script>alert('Preencha o telefone!');history.back();</script>";

 

}

 

 

------

 

Agora, por que que o form continua sendo enviado mesmo quando esses campos obrigatórios não são preenchidos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você só esta verificando se os campos estao vazios ou nao e mais nada, sendo assim ele vai ser enviado mesmo.

tenta assim:

 

if(empty($nome)){
echo "<script>alert('Preencha o nome');history.back();</script>";
}
elseif ((empty($email)){
echo "<script>alert('Preencha o email');history.back();</script>";
}
....faz isso com todos os campos
al final acrecente 
else {

   ......escreva aqui todo o código para enviar os dados pro databese.....
}

crie um echo dizendo que os dados foram enviados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, esta é a validação que me indicaraam e que editei e estou testando:

 

//puxa dados

$proprietario = $_POST['proprietario'];

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$cidade = $_POST['cidade'];

$assunto = $_POST['assunto'];

$obs = $_POST['textodamensagem'];

 

//verificação

if(empty($nome)){

echo "<script>alert('Preencha o nome');history.back();</script>";

 

}

if(empty($email)){

echo "<script>alert('Preencha o email');history.back();</script>";

 

}

 

if(empty($telefone)){

echo "<script>alert('Preencha o telefone!');history.back();</script>";

 

}

 

 

------

 

Agora, por que que o form continua sendo enviado mesmo quando esses campos obrigatórios não são preenchidos?

 

Acredito que iria te ajudar mtu usando javascript para fazer uma validação inicial do form, podes colocar no onsubmit do form uma chamada de uma função em javascript que valide os campos.

O javascript pode mesmo assim falhar e se formulário será enviado da mesma forma, portando no php quando você está validando e vendo que o campo está vazio não está "parando" o envio e sim só vendo se a variável está vazia.

Aconselho a usar um return false

ex:

if(empty($telefone)){
echo "<script>alert('Preencha o telefone!');history.back();</script>";
return false;
}

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal tudo certo, o form não é mais enviado, sem o preenchimento dos campos obrigatórios. Muito obrigado.

 

CÓDIGO:

 

if(empty($nome)){

echo "<script>alert('Preencha o nome');history.back(-1);</script>";

return false;

 

}

if(empty($email)){

echo "<script>alert('Preencha o email');history.back(-1);</script>";

return false;

 

}

 

if(empty($telefone)){

echo "<script>alert('Preencha o telefone!');history.back(-1);</script>";

return false;

 

}

 

--------------

 

Estou tentando fazer a validação e-mail, para @ e telefone, para apenas números, não dá certo, quando coloco:

 

if(!is_nan($telefone)){

echo "Somente numeros no telefone";

return false;

}

 

 

Dá um erro, o que seria pessoal?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal tudo certo, o form não é mais enviado, sem o preenchimento dos campos obrigatórios. Muito obrigado.

 

CÓDIGO:

 

if(empty($nome)){

echo "<script>alert('Preencha o nome');history.back(-1);</script>";

return false;

 

}

if(empty($email)){

echo "<script>alert('Preencha o email');history.back(-1);</script>";

return false;

 

}

 

if(empty($telefone)){

echo "<script>alert('Preencha o telefone!');history.back(-1);</script>";

return false;

 

}

 

--------------

 

Estou tentando fazer a validação e-mail, para @ e telefone, para apenas números, não dá certo, quando coloco:

 

if(!is_nan($telefone)){

echo "Somente numeros no telefone";

return false;

}

 

 

Dá um erro, o que seria pessoal?

 

Valeu

 

 

utiliza is_numeric no lugar do is_nan

 

abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alisson_Schneider, valeu muito!!!

 

Meus problemas já estão acabando... rsrs

 

Olha só tenho um problema quanto à acentuação nos dados enviados pelo formulário para o e-mail.

 

Eles chegam assim:

 

Olá! O seu anúncio me interessou muito. Gostaria de fazer negócio. Aguardo retorno.

 

Veja que o acentos não aparecem... Percebi isso no arquivo php, o qual envia os dados: $cabecalho .= "Content-type: text/html; charset=iso-8859-1\n"; Isso seria para dar a formatação adequada ao text, correto? Mas isso não está ocorrendo nos textos enviados por e-mail... tentei fazer uma adaptação no HEAD mas dá erro.

 

Valeu pessoal, mais uma vez muuuuuuuuito obrigado.

 

-------------------------

 

CÓDIGO:

 

<?php

 

//puxa dados

$destinatario = $_POST['destinatario'];

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$cidade = $_POST['cidade'];

$assunto = $_POST['assunto'];

$obs = $_POST['textodamensagem'];

 

//verificação

if(empty($nome)){

echo "<script>alert('O campo Nome é obrigatório!');history.back(-1);</script>";

return false;

 

}

if(empty($email)){

echo "<script>alert('O campo E-mail é obrigatório!');history.back(-1);</script>";

return false;

 

}

 

if(empty($telefone)){

echo "<script>alert('O campo Telefone é obrigatório!');history.back(-1);</script>";

return false;

 

}

 

if(!is_numeric($telefone)){

echo "<script>alert('Preencha o campo Telefone somente com números!');history.back(-1);</script>";

return false;

 

}

 

if(empty($cidade)){

echo "<script>alert('O campo Cidade é obrigatório!');history.back(-1);</script>";

return false;

 

}

 

//Mensagem personalizada

$assunto = "$assunto - Classificados";

$mensagem = "<!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>

<title>Intenção de Negócio - Búscola Classificados</title>

 

<style type='text/css'>

<!--

body {

margin-left: 0px;

margin-top: 0px;

margin-right: 0px;

margin-bottom: 0px;

background-color: #DFDFDF;

}

-->

</style>

 

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>

<style type='text/css'>

<!--

a:link {

color: #000000;

text-decoration: none;

}

a:visited {

text-decoration: none;

color: #000000;

}

a:hover {

text-decoration: underline;

color: #000000;

}

a:active {

text-decoration: none;

color: #000000;

}

.style3 {

font-family: verdana;

font-size: 11px;

}

-->

</style></head>

 

<body>

 

<table width='475' height='22' border='0' cellpadding='0' cellspacing='4' bordercolor='#E5E5E5' bgcolor='#F8F8FF' class='tabela'>

<tr>

<td colspan='2'><center>

<table width='453' border='0' cellpadding='0' cellspacing='0' class='link_estilo1'>

 

<tr>

<td width='25'> </td>

<td width='428'><strong><span class='style3'>Intenção de Negócio no Búscola Classificados - <a href='http://www.buscola.com.br/classificados' target='_blank' class='link_estilo1'>www.buscola.com.br/classificados </a></span></strong></td>

</tr>

</table>

</center></td>

</tr>

<tr>

<td colspan='2'> </td>

</tr>

 

<tr>

<td width='79' class='style3'>Informações do remetente:</td>

 

</tr>

<tr>

<td width='79' class='style3'>Nome:</td>

<td width='384' class='style3'>$nome</td>

</tr>

 

<tr>

<td class='style3'>Email:</td>

<td class='style3'>$email</td>

</tr>

 

<tr>

<td class='style3'>Assunto:</td>

<td class='style3'>$assunto</td>

</tr>

 

<tr>

<td align='left'><span class='style3'>Cidade:</span></td>

<td align='left'><span class='style3'>$cidade</span></td>

</tr>

 

<tr>

<td class='style3'>Telefone:</td>

<td class='style3'>$telefone</td>

</tr>

 

<tr width='450'>

<td colspan='2' width='450'><strong class='style3'>Mensagem:</strong></td>

</tr>

<tr>

<td colspan='2' class='style3'>$obs</td>

</tr>

</table>

</body>

</html>";

 

//email do destino

$destinatario = "$destinatario";

 

$de = "$nome";

 

//cabeçalho que aceita html (não tirar MIME)

$cabecalho = "MIME-Version: 1.0\n";

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

$cabecalho .= "From: $de <$email>\r\n";

$cabecalho .= "Reply-To: $email\r\n";

 

//envia o email

mail($destinatario, $assunto, $mensagem, $cabecalho);

 

// jogar a pagina que sera exibida quando for enviado

echo "<META HTTP-EQUIV='REFRESH' CONTENT='0; URL=enviado.html'>";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara se você não está conseguindo validar no código, valida com a ferramenta SPRY (AJAX) do Dreamweaver.

No menu de ferramentas do Dreamweaver tem um grupo chamado SPRY tem validação para tds os campos de texto.

Espero ter ajudado.

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alisson_Schneider, valeu muito!!!

 

Meus problemas já estão acabando... rsrs

 

Olha só tenho um problema quanto à acentuação nos dados enviados pelo formulário para o e-mail.

 

Eles chegam assim:

 

Olá! O seu anúncio me interessou muito. Gostaria de fazer negócio. Aguardo retorno.

 

Veja que o acentos não aparecem... Percebi isso no arquivo php, o qual envia os dados: $cabecalho .= "Content-type: text/html; charset=iso-8859-1\n"; Isso seria para dar a formatação adequada ao text, correto? Mas isso não está ocorrendo nos textos enviados por e-mail... tentei fazer uma adaptação no HEAD mas dá erro.

 

Valeu pessoal, mais uma vez muuuuuuuuito obrigado.

 

-------------------------

 

CÓDIGO:

 

<?php

 

//puxa dados

$destinatario = $_POST['destinatario'];

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$cidade = $_POST['cidade'];

$assunto = $_POST['assunto'];

$obs = $_POST['textodamensagem'];

 

//verificação

if(empty($nome)){

echo "<script>alert('O campo Nome é obrigatório!');history.back(-1);</script>";

return false;

 

}

if(empty($email)){

echo "<script>alert('O campo E-mail é obrigatório!');history.back(-1);</script>";

return false;

 

}

 

if(empty($telefone)){

echo "<script>alert('O campo Telefone é obrigatório!');history.back(-1);</script>";

return false;

 

}

 

if(!is_numeric($telefone)){

echo "<script>alert('Preencha o campo Telefone somente com números!');history.back(-1);</script>";

return false;

 

}

 

if(empty($cidade)){

echo "<script>alert('O campo Cidade é obrigatório!');history.back(-1);</script>";

return false;

 

}

 

//Mensagem personalizada

$assunto = "$assunto - Classificados";

$mensagem = "<!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>

<title>Intenção de Negócio - Búscola Classificados</title>

 

<style type='text/css'>

<!--

body {

margin-left: 0px;

margin-top: 0px;

margin-right: 0px;

margin-bottom: 0px;

background-color: #DFDFDF;

}

-->

</style>

 

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>

<style type='text/css'>

<!--

a:link {

color: #000000;

text-decoration: none;

}

a:visited {

text-decoration: none;

color: #000000;

}

a:hover {

text-decoration: underline;

color: #000000;

}

a:active {

text-decoration: none;

color: #000000;

}

.style3 {

font-family: verdana;

font-size: 11px;

}

-->

</style></head>

 

<body>

 

<table width='475' height='22' border='0' cellpadding='0' cellspacing='4' bordercolor='#E5E5E5' bgcolor='#F8F8FF' class='tabela'>

<tr>

<td colspan='2'><center>

<table width='453' border='0' cellpadding='0' cellspacing='0' class='link_estilo1'>

 

<tr>

<td width='25'> </td>

<td width='428'><strong><span class='style3'>Intenção de Negócio no Búscola Classificados - <a href='http://www.buscola.com.br/classificados' target='_blank' class='link_estilo1'>www.buscola.com.br/classificados </a></span></strong></td>

</tr>

</table>

</center></td>

</tr>

<tr>

<td colspan='2'> </td>

</tr>

 

<tr>

<td width='79' class='style3'>Informações do remetente:</td>

 

</tr>

<tr>

<td width='79' class='style3'>Nome:</td>

<td width='384' class='style3'>$nome</td>

</tr>

 

<tr>

<td class='style3'>Email:</td>

<td class='style3'>$email</td>

</tr>

 

<tr>

<td class='style3'>Assunto:</td>

<td class='style3'>$assunto</td>

</tr>

 

<tr>

<td align='left'><span class='style3'>Cidade:</span></td>

<td align='left'><span class='style3'>$cidade</span></td>

</tr>

 

<tr>

<td class='style3'>Telefone:</td>

<td class='style3'>$telefone</td>

</tr>

 

<tr width='450'>

<td colspan='2' width='450'><strong class='style3'>Mensagem:</strong></td>

</tr>

<tr>

<td colspan='2' class='style3'>$obs</td>

</tr>

</table>

</body>

</html>";

 

//email do destino

$destinatario = "$destinatario";

 

$de = "$nome";

 

//cabeçalho que aceita html (não tirar MIME)

$cabecalho = "MIME-Version: 1.0\n";

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

$cabecalho .= "From: $de <$email>\r\n";

$cabecalho .= "Reply-To: $email\r\n";

 

//envia o email

mail($destinatario, $assunto, $mensagem, $cabecalho);

 

// jogar a pagina que sera exibida quando for enviado

echo "<META HTTP-EQUIV='REFRESH' CONTENT='0; URL=enviado.html'>";

?>

 

 

No lugar de iso-8859-1 utlize UTF-8 se o erro persistir posta ai

 

abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alisson_Schneider ,

 

O cabeçalha vai normal, com a acentuação correta, menos as informações do formulário, dos campos para preenchimento.

 

Com a alteração que você indicou, as informações do formulário ficara ok, mas aí o erro passou para o cabeçalho... eu mudei:

 

//cabeçalho que aceita html (não tirar MIME)

$cabecalho = "MIME-Version: 1.0\n";

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

$cabecalho .= "From: $de <$email>\r\n";

$cabecalho .= "Reply-To: $email\r\n";

 

 

Tentei também aqui na tag HEAD:

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>

<style type='text/css'>

 

Os erros ficam se alternado entre o cabeçalho e as informações do formulário.

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alisson_Schneider ,

 

O cabeçalha vai normal, com a acentuação correta, menos as informações do formulário, dos campos para preenchimento.

 

Com a alteração que você indicou, as informações do formulário ficara ok, mas aí o erro passou para o cabeçalho... eu mudei:

 

//cabeçalho que aceita html (não tirar MIME)

$cabecalho = "MIME-Version: 1.0\n";

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

$cabecalho .= "From: $de <$email>\r\n";

$cabecalho .= "Reply-To: $email\r\n";

 

 

Tentei também aqui na tag HEAD:

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>

<style type='text/css'>

 

Os erros ficam se alternado entre o cabeçalho e as informações do formulário.

 

Valeu

 

Certo se o do cabeçalho fica errado é a formatação da página que está erreda, tipo veja com qual fica certo o cabeçalho ou seja lá no seu head veja se é "iso-8859-1" ou "UTF-8" agora para os campos utilize UTF-8 (pelo oq eu entendi tinha funcionado)

 

amigo qualquer coisa só postar

 

abrass

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.