Ir para conteúdo
Fórum Script Brasil
  • 0

Erro no Formulário PHP!


Bruno H

Pergunta

Pessoal, sou novo por aqui e estou fazendo um formulario pra ser recebido no email depois de preenchido no meu site. O problema é que eu digito todos os campos e clico em enviar, e já cai direto na mensagem de alerta que o campo, nome, mensagem e e-mail não foram preenchidos. Será que vocês conseguem ver o q eu não estou vendo na configuração desse form??

Desde já eu agradeço imensamento a ajuda!!

PS: Copiei o codigo da pagina email.php que é onde tem a parte da configuração e tambem copiei a codificação do include.php lá embaixo pra terem uma ideia de como está...

<hr />

<?php

include("config.php");

//Testa campos obrigatórios

if ($nome!="" and $mensagem!="" and $email!="")

{

$msg.="Nome: $nome\n";

$msg.="Cidade: $cidade\n";

$msg.="Telefone: $telefone\n";

$msg.="E-mail: $email\n";

$msg.="$mensagem\n";

if (@ mail ($mail_destino, $msg, $mail_header))

{

//Imprimindo confirmação de envio

echo

"

<html>

<meta http-equiv=refresh content=5;URL=index.php></html>";

echo "$nome, sua mensagem:<br> $mensagem <br>.Foi enviada com sucesso!<br>";

echo "Obrigado!<br><br>

";

//Enviando mensagem de confirmação para o email do internauta

@ mail ($email, "Re: $assunto", $msg_repy, $mail_header);

}

else

echo

"

<meta http-equiv=refresh content=5;URL=index.php>

</html><center><br><br><font color=red>

<b>Erro ao enviar e-mail!</b>

</font></center>

";

}

else

{

//Alerta sobre os campos obrigatórios

echo

"

<br><br><center>

$msg_erro <br><br>

<a href=\"java script:window.history.go(-1)\" class=\"links\">Por favor, volte e preencha corretamente.</a>

</center>

";

}

?>

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

Como está o config.php:

<?

/*

* Configurações do formulário de Contato

* Altere a variavel $mail_destino para o seu email

*

*/

//Seu email, para onde irao as informações do formulário

$mail_destino = "maria@equipebuffet.com";

//Mensagem de cabeçalho do email

$mail_header = "Mensagem de Contato enviada pelo Site.";

//Mensagem para o email de resposta

$msg_reply = "Olá $nome, recebemos o seu email com o assunto <b>$assunto</b>. Obrigado pelo contato. Retornaremos em breve!!";

//Mensagem de Erro

$msg_erro = "Atenção!! Os campos <font color=$cor_site><b>Nome, Mensagem e E-mail</b></font> não podem estar em branco.";

?>

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Bom isso é estranho mas pelo q você falou o problema deve estar nessa linha

if ($nome!="" and $mensagem!="" and $email!="")
Afinal o codigo ta jogando você pro alert Experimenta cara colocar um espaço entre variavel e != assim:
if ($nome !=""  and $mensagem !=""  and $email !="")

A e entre as aspas "" não deve ter espaço

Falou

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, tenta usar um javascript para validar os campos no seu formulario ao invés de usar o php. É mais facil e fica até mais bonito.

Os campos para preecher utiliza form se não estiver utilizando, porque o sistema de $variaveis do php, é bem complicado, porque as variaveis precisam estar definidas para o php entender elas.

Ai no caso o javascript faz a verificação no form antes de enviar pra pagina que monta os dados e envia.

Vou postar aqui um sistema que estou utilizando e funciona tanto no firefox como no IE.

<script language="javascript">
function validaForm(){
           d = document.cadastro;
           //validar nome
           if (d.nome.value == ""){
                     alert("O campo " + d.nome.name + " deve ser preenchido!");
                     d.nome.focus();
                     return false;
           }
           //validar data de nascimento
         erro=0;
         hoje = new Date();
         anoAtual = hoje.getFullYear();
         barras = d.nascimento.value.split("/");
         if (barras.length == 3){
                   dia = barras[0];
                   mes = barras[1];
                   ano = barras[2];
                   resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
                   if (!resultado) {
                             alert("Formato de data invalido!");
                             d.nascimento.focus();
                             return false;
                   }
         } else {
                   alert("Formato de data invalido!");
                   d.nascimento.focus();
                   return false;
         }
          //validar telefone
         if (d.tel.value == ""){
                   alert("O campo Telefone deve ser preenchido!");
                   d.tel.focus();
                   return false;
         }
         //validar telefone(verificacao se contem apenas numeros)
         if (isNaN(d.tel.value)){
                   alert ("O campo Telefone deve conter apenas numeros!");
                   d.tel.focus();
                   return false;
         }
         //validar cpf
         if (d.cpf.value == ""){
                   alert ("O campo " + d.cpf.name + " deve ser preenchido!");
                   d.cpf.focus();
                   return false;
         }
         //validar cpf(verificacao se contem apenas numeros)
         if (isNaN(d.cpf.value)){
                   alert ("O campo " + d.cpf.name + " deve conter apenas numeros!");
                   d.cpf.focus();
                   return false;
         }
           //validar endereço
         if (d.endereco.value == ""){
                   alert("O campo " + d.endereco.name + " deve ser preenchido!");
                   d.endereco.focus();
                   return false;
         }
         return true;
 }
</script>
<div align="center">
<form action="cad_done.php" name="cadastro" method="post" onSubmit="return validaForm()">
<fieldset>
<table width="522" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="20" colspan="2"><p align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DADOS
PESSOAIS  -------  (OS CAMPOS COM <font color="#FF0000">*</font> PRECISAM SER PREENCHIDOS!)</strong><br>
</font></p>
</td>
</tr>
<tr>
<td width="145" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nome
completo:<font color="#FF0000">*</font></font></td>
<td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="nome" type="text" id="nome" size="20" maxlength="40">
(max. 40 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nascimento:<font color="#FF0000">*</font></font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="nascimento" type="text" id="nascimento" value="" size="20" maxlength="10">
(max. 10 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Sexo:<font color="#FF0000">*</font></font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<select name="sexo" id="sexo">
<option value="Selecione" selected>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
<option value="Feminino">Feminino</option>
<option value="Masculino">Masculino</option>
</select>
</font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Telefone:<font color="#FF0000">*</font></font></font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="tel" type="text" id="tel" value="" size="20" maxlength="9">
(max. 9 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Celular:</font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="cel" type="text" id="cel" value="" size="20" maxlength="9">
(max. 9 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">CPF:<font color="#FF0000">*</font></font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="cpf" type="text" id="cpf" value="" size="20" maxlength="11">
(max. 11 digitos) </font></td>
</tr>
<tr>
<td height="20" colspan="2"><div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DADOS
RESIDENCIAS -------  (OS CAMPOS COM <font color="#FF0000">*</font> PRECISAM SER PREENCHIDOS!)</strong></font></div>
</td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Endere&ccedil;o:<font color="#FF0000">*</font></font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="endereco"  type="text" id="endereco" size="20" maxlength="50">
(max. 50 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Bairro:</font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="bairro"  type="text" id="bairro" size="20" maxlength="30">
(max. 30 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">CEP:</font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="cep"  type="text" id="cep" size="20" maxlength="10">
(max. 10 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Cidade:</font></td>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="cidade" type="text" id="cidade" size="20" maxlength="30">
(max. 30 digitos) </font></td>
</tr>
<tr>
<td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Estado:</font></td>
<td height="20"><font color="#0000FF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<select name="estado" id="estado" type="text">
<option value="SP" selected>SP
</select>
</font></td>
<br>
</tr>
<br>
<tr>
<td height="20">&nbsp;</td>
<td height="20"><input type="submit" value="Enviar">
<input type="reset" name="Submit2" value="Limpar">
</td>
</tr>
</table>
</form>
</div>
</fieldset>

Qualquer coisa é só perguntar, não sou nenhum expert no assunto mais ajudo no que for possivel.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Se o servidor onde esta rodando o script estiver com o register_globals = off no php.ini você precisa recuperar o valor das variaveis usando o $_POST ou $_GET, dependendo do método usado no teu form, se no teu form estiver assim: method="post" ficaria assim:

$nome = $_POST['nome'];

$mensagem = $_POST['mensagem'];

$email = $_POST['email'];

se for method=get":

$nome = $_GET['nome];

recomendo usar o POST, ve ai se vai da certo agora.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Se o servidor onde esta rodando o script estiver com o register_globals = off no php.ini você precisa recuperar o valor das variaveis usando o $_POST ou $_GET, dependendo do método usado no teu form, se no teu form estiver assim: method="post" ficaria assim:

$nome = $_POST['nome'];

$mensagem = $_POST['mensagem'];

$email = $_POST['email'];

se for method=get":

$nome = $_GET['nome];

recomendo usar o POST, ve ai se vai da certo agora.

Abraço

Legal, deu certo eu fazendo o que você indicou, declarei como post antes de tudo..foi.. seguinte eu queria q esse formulário mandasse o conteudo pra dois emails, tem como? por hora ele esta mandando pra um somente...

Olha como esta o codigo da parte dessa configuração:

//Seu email, para onde irao as informações do formulário

$mail_destino = "maria@equipebuffet.com";

//Mensagem de cabeçalho do email

$mail_header = "Mensagem de Contato enviada pelo Site.";

//Mensagem para o email de resposta

$msg_reply = "Olá $nome, recebemos o seu email com o assunto <b>$assunto</b>. Obrigado pelo contato. Retornaremos em breve!!";

//Mensagem de Erro

$msg_erro = "Atenção!! Os campos <font color=$cor_site><b>Nome, Mensagem e E-mail</b></font> não podem estar em branco.";

?>

grato desde já!!

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde.

não tenho certeza, pois nunca testei rsrsrs...

Mas acredito que separando os emails por ";", deve dar certo..

Testa e depois fala se da certo..

//Seu email, para onde irao as informações do formulário

$mail_destino = "maria@equipebuffet.com; jose@equipebuffet.com;";

As vezes, funciona.. rsrs

Abrass

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde.

não tenho certeza, pois nunca testei rsrsrs...

Mas acredito que separando os emails por ";", deve dar certo..

Testa e depois fala se da certo..

//Seu email, para onde irao as informações do formulário

$mail_destino = "maria@equipebuffet.com; jose@equipebuffet.com;";

As vezes, funciona.. rsrs

Abrass

putz não deu!! :wacko:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...