Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fiz um formulário que envia os dados do usuário para um TXT.
A data de nascimento é convertida em signo e idade no TXT.
Mas estou com um problema, preciso que os dados sejam validados antes de serem gravados no TXT,ou seja,se o usuário não preenche algum campo,ou preenche de forma incorreta o processo deve parar,e mostrar uma mensagem para o usurário voltar e corrigir os campos incorretos ou que estão faltando.
È uma duvida bem boba,mas ja tentei varios codigos de validação e não obtive exito.
Segue Codigo PHP
<?php
//PEGA OS DADOS ENVIADOS PELO FORMULÁRIO
$nome = $_POST["nome"];
$dia = $_POST["dia"];
$mes = $_POST["mes"];
$ano = $_POST["ano"];
$rg = $_POST["rg"];
$cpf = $_POST["cpf"];
$fixo = $_POST["fixo"];
$celular = $_POST["celular"];
$atividade = $_POST["atividade"];
$rua = $_POST["rua"];
$bairro = $_POST["bairro"];
$estado = $_POST["estado"];
$cep = $_POST["cep"];
$email = $_POST["email"];
function validaCPF($cpf)
//FUNÇÃO VALIDA CPF
{ // Verifiva se o número digitado contém todos os digitos
$cpf = str_pad(str_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);
// Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999')
{
return false;
}
else
{ // Calcula os números para verificar se o CPF é verdadeiro
for ($t = 9; $t < 11; $t++) {
for ($d = 0, $c = 0; $c < $t; $c++) {
$d += $cpf{$c} * (($t + 1) - $c);
}
$d = ((10 * $d) % 11) % 10;
if ($cpf{$c} != $d) {
return false;
}
}
return true;
}
}
// Verifica se o botão de validação foi acionado
if(isset($_POST['btnOK']))
{
$cpf_enviado = validaCPF($_POST['cpf']);
// Verifica a resposta da função e exibe na tela
if($cpf_enviado == true);
elseif($cpf_enviado == false)
echo "<br>CPF INVÁLIDO! Retorne e digite um CPF válido!";
}
function signo($dia, $mes) {
if ($mes == "3" AND $dia >= "20") { $signo = "Áries"; } //Áries 20/03 a 20/04
elseif ($mes == "4" AND $dia <= "20") { $signo = "Áries"; } //Áries 20/03 a 20/04
elseif ($mes == "4" AND $dia >= "21") { $signo = "Touro"; } //Touro 21/04 a 20/05
elseif ($mes == "5" AND $dia <= "20") { $signo = "Touro"; } //Touro 21/04 a 20/05
elseif ($mes == "5" AND $dia >= "21") { $signo = "Gêmeos"; } //Gêmeos 21/05 a 20/06
elseif ($mes == "6" AND $dia <= "20") { $signo = "Gêmeos"; } //Gêmeos 21/05 a 20/06
elseif ($mes == "6" AND $dia >= "21") { $signo = "Câncer"; } //Câncer 21/06 a 21/07
elseif ($mes == "7" AND $dia <= "21") { $signo = "Câncer"; } //Câncer 21/06 a 21/07
elseif ($mes == "7" AND $dia >= "22") { $signo = "Leão"; } //Leão 22/07 a 22/08
elseif ($mes == "8" AND $dia <= "22") { $signo = "Leão"; } //Leão 22/07 a 22/08
elseif ($mes == "8" AND $dia >= "23") { $signo = "Virgem"; } //Virgem 23/08 a 22/09
elseif ($mes == "9" AND $dia <= "22") { $signo = "Virgem"; } //Virgem 23/08 a 22/09
elseif ($mes == "9" AND $dia >= "23") { $signo = "Libra"; } //Libra 23/09 a 22/10
elseif ($mes == "10" AND $dia <= "22") { $signo = "Libra"; } //Libra 23/09 a 22/10
elseif ($mes == "10" AND $dia >= "23") { $signo = "Escorpião"; } //Escorpião 23/10 a 21/11
elseif ($mes == "11" AND $dia <= "21") { $signo = "Escorpião"; } //Escorpião 23/10 a 21/11
elseif ($mes == "11" AND $dia >= "22") { $signo = "Sagitário"; } //Sagitário 22/11 a 21/12
elseif ($mes == "12" AND $dia <= "21") { $signo = "Sagitário"; } //Sagitário 22/11 a 21/12
elseif ($mes == "12" AND $dia >= "22") { $signo = "Capricórnio"; } //Capricórnio 22/12 a 21/01
elseif ($mes == "1" AND $dia <= "21") { $signo = "Capricórnio"; } //Capricórnio 22/12 a 21/01
elseif ($mes == "1" AND $dia >= "21") { $signo = "Aquário"; } //Aquário 21/01 a 18/02
elseif ($mes == "2" AND $dia <= "18") { $signo = "Aquário"; } //Aquário 21/01 a 18/02
elseif ($mes == "2" AND $dia >= "19") { $signo = "Peixes"; } //Peixes 19/02 a 19/03
elseif ($mes == "3" AND $dia <= "19") { $signo = "Peixes"; } //Peixes 19/02 a 19/03
else { $signo = "Não Reconhecido"; }
return $signo;
}
$dia = $_POST["dia"];
$mês = $_POST["mes"];
$signo = signo($dia,$mês);
$dia = date ('d');
$mes = date ('m');
$ano = date ('Y');
//Data do aniversário
$dianasc = $_POST["dia"];
$mesnasc = $_POST["mes"];
$anonasc = $_POST["ano"];
//Calculando sua idade
$idade = $ano - $anonasc;
if ($mes < $mesnasc){
$idade;
echo "$idade";
}
elseif ($mes == $mesnasc and $dia <= $dianasc) {
$idade;
}
//PREPARA O CONTEÚDO A SER GRAVADO
$conteudo = "$dia,$mes,$ano,$idade,$rg,$cpf,$fixo,$celular,$atividade,$rua,$bairro,$estado,$cep,$signo,$email\r\n";
//ARQUIVO TXT
$arquivo = "usuarios.txt";
//TENTA ABRIR O ARQUIVO TXT
if (!$abrir = fopen($arquivo, "a")) {
echo "Erro abrindo arquivo ($arquivo)";
exit;
}
//ESCREVE NO ARQUIVO TXT
if (!fwrite($abrir, $conteudo)) {
print "Erro escrevendo no arquivo ($arquivo)";
exit;
}
echo "<br>CADASTRO REALIZADO COM SUCESSO";
//FECHA O ARQUIVO
fclose($abrir);
?>
Codigo HTML (form)
<html>
<head>
<title> Ficha de cadastro </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
</head>
<body>
<h1> Faça sua inscrição agora</h1>
<form action="avaliaficha.php" method="post">
<!-- DADOS PESSOAIS-->
<fieldset>
<legend>Dados Pessoais</legend>
<table cellspacing="10">
</tr>
<tr>
<td>
<label for="cidade">Nome: </label>
</td>
<td align="left">
<input type="text" name="nome">
</td>
</tr>
<tr>
<td>
<label>Nascimento DD/MM/AAAA:</label>
</td>
<td align="left">
<input type="text" name="dia" size="2" maxlength="2"> - <input type="text" name="mes" size="2" maxlength="2">- <input type="text" name="ano" size="4" maxlength="4">
</td>
</tr>
<tr>
<td>
<label for="rg">RG: </label>
</td>
<td align="left">
<input type="text" name="rg" size="10" maxlength="13">
</td>
</tr>
</tr>
<tr>
<td>
<label for="rg">CPF: </label>
</td>
<td align="left">
<input type="text" name="cpf" size="11" maxlength="13">
</td>
</tr>
<tr>
<td>
<label for="rg">Telefone Fixo: </label>
</td>
<td align="left">
<input type="text" name="fixo" size="11" maxlength="11">
</td>
</tr>
<tr>
<td>
<label for="rg">Telefone celular: </label>
</td>
<td align="left">
<input type="text" name="celular" size="11" maxlength="11">
</td>
</tr>
<tr>
<td>
<label for="email">Pratica atividade fisica?Qual?: </label>
</td>
<td align="left">
<input type="text" name="atividade">
</td>
</tr>
<tr>
</table>
</fieldset>
<br /><fieldset>
<legend>Dados de Endereço</legend>
<table cellspacing="10">
</tr>
<tr>
<td>
<label for="rg">Rua/Numero: </label>
</td>
<td align="left">
<input type="text" name="rua" size="100" maxlength="100">
</td>
</tr>
<tr>
<td>
<label for="bairro">Bairro: </label>
</td>
<td align="left">
<input type="text" name="bairro">
</td>
</tr>
<tr>
<td>
<label for="estado">Estado:</label>
</td>
<td align="left">
<select name="estado">
<option value="ac">Acre</option>
<option value="al">Alagoas</option>
<option value="am">Amazonas</option>
<option value="ap">Amapá</option>
<option value="ba">Bahia</option>
<option value="ce">Ceará</option>
<option value="df">Distrito Federal</option>
<option value="es">Espírito Santo</option>
<option value="go">Goiás</option>
<option value="ma">Maranhão</option>
<option value="mt">Mato Grosso</option>
<option value="ms">Mato Grosso do Sul</option>
<option value="mg">Minas Gerais</option>
<option value="pa">Pará</option>
<option value="pb">Paraíba</option>
<option value="pr">Paraná</option>
<option value="pe">Pernambuco</option>
<option value="pi">Piauí</option>
<option value="rj">Rio de Janeiro</option>
<option value="rn">Rio Grande do Norte</option>
<option value="ro">Rondônia</option>
<option value="rs">Rio Grande do Sul</option>
<option value="rr">Roraima</option>
<option value="sc">Santa Catarina</option>
<option value="se">Sergipe</option>
<option value="sp">São Paulo</option>
<option value="to">Tocantins</option>
</select>
</td>
</tr>
</tr>
<tr>
<td>
<label for="cep">Cidade ou Cep: </label>
</td>
<td align="left">
<input type="text" name="cep">
</td>
</tr>
<tr>
<td>
<label for="email">E-mail: </label>
</td>
<td align="left">
<input type="text" name="email">
</td>
</tr>
</table>
</fieldset>
<br />
<input type='submit' name='btnOK' value='Concluir'>Carregando comentários...