Jump to content


Photo

Erro Na Validadação Do Campo Em Php


  • Faça o login para participar
17 replies to this topic

#1 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 12:59

Salve galera estou tentando validar os campos do meu form da seguinte forma
if (empty($_POST['nome'])) {   echo"<script>alert ('Favor colocar Nome')</script>";   echo"<script>history.go(-1);</script>";}

Quando o campo esta vazio aparece o alerta mas assim mesmo ele envia o conteudo para o e-mail

Caso alguem possa ajudar preciso também validar os campos de CPF entre outros e se possivel.
Estou tentando usar alguns aqui mas como sou leigo em PHP recorro a ajuda dos amigos

#2 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 13:14

Fazer um alert aparecer não vai parar a execução do seu script.

E o resto do código?
att,
Muller Dias
ex-administrador Fórum WMO

#3 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 14:00

Salve amigo sem.Ponto !!
Bom neste caso vou postar meu form.php é que estou tentando customizar o script de forma que se encaixa mais a minha necessidade.


<title>Contato pelo site</title><?php
if (getenv("REQUEST_METHOD") == "POST") 
{

  $empresa_origem       = $_POST['empresa_origem'];
  $funcao		= $_POST['funcao'];
  $nome 		= $_POST['nome'];
  $rg   		= $_POST['rg'];
  $orgao_expedidor	= $_POST['orgao_expedidor'];
  $data_emissao 	= $_POST['data_emissao'];
  $cpf              	= $_POST['cpf'];
  $titulo_eleitor   	= $_POST['titulo_eleitor'];
  $zona_elei		= $_POST['zona_elei'];
  $secao_elei    	= $_POST['secao_elei'];
  $ctps         	= $_POST['ctps'];
  $ctps_serie   	= $_POST['ctps_serie'];
  $ctps_uf              = $_POST['ctps_uf'];
  $ctps_emissao         = $_POST['ctps_emissao'];
  $pis                  = $_POST['pis'];
  $data_pis             = $_POST['data_pis'];
  $data_nasc            = $_POST['data_nasc'];
  $estado_nasc          = $_POST['estado_nasc'];
  $endereco             = $_POST['estado_nasc'];
  $casa_numero          = $_POST['casa_numero'];
  $bairro               = $_POST['bairro'];
  $cep                  = $_POST['cep'];
  $cidade               = $_POST['cidade'];
  $estado               = $_POST['estado'];
  $telefone             = $_POST['telefone'];
  $mae                  = $_POST['mae'];
  $pai                  = $_POST['pai'];
  $raca_cor             = $_POST['raca_cor'];
  $deficiencia          = $_POST['deficiencia'];
  $desc_defic           = $_POST['desc_defic'];
  $escolaridade         = $_POST['escolaridade'];
  $vt                   = $_POST['vt'];
  $estado_civil         = $_POST['estado_civil'];
  $filhos               = $_POST['filhos'];
  $conjuge              = $_POST['conjuge'];
  $n_calca              = $_POST['n_calca'];
  $n_camisa             = $_POST['n_camisa'];
  $n_jaqueta            = $_POST['n_jaqueta'];
  $n_calcado            = $_POST['n_calcado'];
  
//campos obrigatórios

if (empty($_POST['empresa_origem'])) {
   echo"<script>alert ('Favor colocar o Nome da Empresa')</script>";
   echo"<script>history.go(-1);</script>";
    
}
if (empty($_POST['funcao'])) {
   echo"<script>alert ('Favor colocar Função Exercida')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['nome'])) {
   echo"<script>alert ('Favor colocar Nome')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['rg'])) {
   echo"<script>alert ('Favor colocar RG')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['orgao_expedidor'])) {
   echo"<script>alert ('Favor colocar Orgão expedidor')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['data_emissao'])) {
   echo"<script>alert ('Favor colocar Data Emissão')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['cpf'])) {
   echo"<script>alert ('Favor colocar CPF')</script>";
   echo"<script>history.go(-1);</script>";
 }
if (empty($_POST['titulo_eleitor'])) {
   echo"<script>alert ('Favor colocar numero Titulo Eleitor')</script>";
   echo"<script>history.go(-1);</script>";
 }
if (empty($_POST['zona_elei'])) {
   echo"<script>alert ('Favor colocar Zona Eleitoral')</script>";
   echo"<script>history.go(-1);</script>";
 }
if (empty($_POST['secao_elei'])) {
   echo"<script>alert ('Favor colocar Seção Eleitoral')</script>";
   echo"<script>history.go(-1);</script>";
}

if (empty($_POST['data_nasc'])) {
   echo"<script>alert ('Favor colocar Data de Nascimento')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['estado_nasc'])) {
   echo"<script>alert ('Favor colocar Estado de Origem')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['endereco'])) {
   echo"<script>alert ('Favor colocar Endereço')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['casa_numero'])) {
   echo"<script>alert ('Favor colocar Numero da Casa')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['bairro'])) {
   echo"<script>alert ('Favor colocar Bairro')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['cep'])) {
   echo"<script>alert ('Favor colocar CEP')</script>";
   echo"<script>history.go(-1);</script>";
}

if (empty($_POST['cidade'])) {
   echo"<script>alert ('Favor colocar Cidade')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['estado'])) {
   echo"<script>alert ('Favor selecionar o Estado')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['telefone'])) {
   echo"<script>alert ('Favor colocar Numero do Telefone')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['mae'])) {
   echo"<script>alert ('Favor colocar Nome da Mãe')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['raca_cor'])) {
   echo"<script>alert ('Favor selecionar Raça/Cor')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['deficiencia'])) {
   echo"<script>alert ('Favor Indicar se tem deficiência física')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['escolaridade'])) {
   echo"<script>alert ('Favor colocar Escolaridade')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['vt'])) {
   echo"<script>alert ('Favor Informar se utiliza VT')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['estado_civil'])) {
   echo"<script>alert ('Favor Informar Estado Civil')</script>";
   echo"<script>history.go(-1);</script>";
}
if (empty($_POST['filhos'])) {
   echo"<script>alert ('Favor Informar se tem filhos menores')</script>";
   echo"<script>history.go(-1);</script>";
} 

//Inicio do Email que vair receber as informações
  $MailRecipiente = "meu-email@hotmail.com";  //Aqui o e-mail que vai receber
  $MailAssunto    = "$funcao";
  $headers = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=utf-8\r\n";
  $headers .= "From: $empresa_origem\r\n";
  

$msg = "<!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><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-iso-8859-1\" /><title>Formulario de Admissão enviado pelo Site</title>
<br>
<br>Empresa de Origem: <b>$empresa_origem</b>
<br>Funcao           : <b>$funcao</b>
<br>Nome             : <b>$nome</b>
<br>RG               : <b>$rg</b>
<br>Orgao Expedidor  : <b>$orgao_expedidor</b>
<br>Data Emissao     : <b>$data_emissao</b>
<br>CPF              : <b>$cpf</b>
<br>Titulo de eleitor: <b>$titulo_eleitor</b>
<br>Zona Eleitoral   : <b>$zona_elei</b>
<br>Secao Eleitoral  : <b>$secao_elei</b>
<br>CTP              : <b>$ctps</b>
<br>CTPS Serie       : <b>$ctps_serie</b>
<br>CTPS UF          : <b>$ctps_uf</b>
<br>Data Emissao CTPS: <b>$ctps_emissao</b>
<br>PIS              : <b>$pis</b>
<br>Data cadastro PIS: <b>$data_pis</b>
<br>Data Nascimento  : <b>$data_nasc</b>
<br>Natural Estado   : <b>$estado_nasc</b>
<br>Endereco         : <b>$endereco</b>
<br>Numero Casa      : <b>$casa_numero</b>
<br>Bairro           : <b>$bairro</b>
<br>Cep              : <b>$cep</b>
<br>Cidade           : <b>$cidade</b>
<br>Estado           : <b>$estado</b>
<br>Telefone         : <b>$telefone</b>
<br>Nome da Mae      : <b>$mae</b>
<br>Nome do Pai      : <b>$pai</b>
<br>Raca / Cor       : <b>$raca_cor</b>
<br>Deficiente       : <b>$deficiencia</b>
<br>Defic.Descricao  : <b>$desc_defisc</b>
<br>Escolaridade     : <b>$escolaridade</b>
<br>Utilaza VT       : <b>$vt</b>
<br>Estado Civil     : <b>$estado_civil</b>
<br>Filhos menores   : <b>$filhos</b> 
<br>Nome do Conjuge  : <b>$conjuge</b>
<br>
<br>Infomracoes para Uniforme:
<br>
<br>Numero da calca  : <b>$n_calca</b>
<br>Numero da camisa : <b>$n_camisa</b>
<br>Numero da Jaqueta: <b>$n_jaqueta</b>
<br>Numero do calcado: <b>$n_calcado</b>
<br>
<br></body></html>"; 

$MandaEmail=mail($MailRecipiente,$funcao,$msg,$headers);

}
?>


#4 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 14:41

Faça a verificação assim (vou colocar apenas 2 campos):

if (!$empresa_origem)
     $erros[] = 'Favor colocar o Nome da Empresa';
if (!$funcao)
     $erros[] = 'Favor colocar Função Exercida';

Depois de verificar cada campo, verifique se existe erros no array. Se tiver erros, mostra o alert com todos os erros, senão envia o e-mail.

if ($erros)
{
     echo "<script>alert('".implode('\n', $erros)."')</script>";
     echo "<script>history.go(-1);</script>";
}
else
{
     // Envia o e-mail
}

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#5 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 14:47

Ok valeu posso usar o seu exemplo exatamente como esta ?
Claro que vou acrecentar todos os campos do meu form
mas na segunda parte que mostrou ...?
Iniciante e dose .... (rsrsrsrs)

Mas mesmo assim muito obrigaso !

#6 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 15:09

Sim, faça como eu postei...

O que tem a segunda parte?
att,
Muller Dias
ex-administrador Fórum WMO

#7 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 15:11

Amigo sem.Ponto fui testar a solução que vc me passou e agora esta dando o seguinte erro

Parse error: syntax error, unexpected $end in form/form_2.php on line 125


Onde a linha referida é o ?>

#8 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 15:16

Tinha um erro no meu código e eu corrigi.

Tente novamente...

Se o erro continuar, poste o seu código.
att,
Muller Dias
ex-administrador Fórum WMO

#9 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 15:29

Mas onde esvata o erro que comparei com o altual e não vi nada ??

#10 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 15:39

Tinha uma chave assim:

if (!$empresa_origem) {

O correto é assim:

if (!$empresa_origem)

att,
Muller Dias
ex-administrador Fórum WMO

#11 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 16:00

Mesmo assim esta dando o mesmo erro;
Deixei o codigo so com este conteudo para ver e agora da erro na linha 49 que é extamente ?>
<title>Contato pelo site</title>
<?php
if (getenv("REQUEST_METHOD") == "POST") 
{

  $empresa_origem       = $_POST['empresa_origem'];
  $funcao		        = $_POST['funcao'];
  
  
//campos obrigatórios
if (!$empresa_origem)  
     $erros[] = 'Favor colocar o Nome da Empresa'; 
if (!$funcao) 
     $erros[] = 'Favor colocar Função Exercida';

	 
	 
// Verifica e emite a mensagem de erro
if ($erros) 
{ 
     echo "<script>alert('".implode('\n', $erros)."')</script>"; 
     echo "<script>history.go(-1);</script>"; 
} 
else 
{ 
     // Envia o e-mail 
}




//Inicio do Email que vair receber as informações
  $MailRecipiente = "crash_heart@hotmail.com";  //Aqui o e-mail que vai receber
  $MailAssunto    = "$funcao";
  $headers = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=utf-8\r\n";
  $headers .= "From: $empresa_origem\r\n";
  

$msg = "<!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><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-iso-8859-1\" /><title>Formulario de Admissão enviado pelo Site</title>
<br>
<br>Empresa de Origem: <b>$empresa_origem</b>
<br>Funcao           : <b>$funcao</b>

<br>
<br></body></html>"; 

$MandaEmail=mail($MailRecipiente,$funcao,$msg,$headers);
?>

Edição feita por: Crash®, 09/12/2009, 16:02.


#12 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 17:09

Veja...

Você abriu um if no início do código e não fechou ele. Por isso está dando erro.

Outra coisa...

Veja essa parte do meu código:

else 
{ 
     // Envia o e-mail 
}

Onde está comentado era para você colocar o código de envio do e-mail. Estou vendo que ele continua fora, tem que ficar dentro do else...
att,
Muller Dias
ex-administrador Fórum WMO

#13 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 18:37

Desculpa !!!
Como disse não tenho conhecimento por isto perguntei antees.. vou fazer as alterações e testar novamente

Agora esta certo fechei o if e coloquei o restatne do script onde vc indicou

Obrigado ! ..

Aproveitando tem como vc me dar uma ajuda para validade o cpf ??
Se não for abusar de mais !

#14 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 09/12/2009, 19:04

Utilize essa função: http://forum.wmonlin...20792-checkcpf/

if (!checkCPF($cpf))
     $erros[] = 'CPF inválido.';

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#15 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 09/12/2009, 22:06

Eu ja avia visto este script mas não sei onde posso coloca-lo ..
Tentei mas deu erro

Consegui usar mediante o seu exemplo obrigado mais uma vez!!!
Agora vou testar tudo mas ate agora parece estar tudo certo !!

Amigo depois que envio o form Ok .. mas fica uma tela em branco vc pode me dizer como posso fazer para voltar para a pagina anterior ?




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq