quinta-feira, 24 de maio de 2012

Sistema de verificação de dados



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
3 <html xmls="http://ww.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
4 <head>
5 <title>Trabalhando com PHP</title>
6 <meta http-equiv="Content-Type" content="text/html; charset=isso-8859-1" />
7 </head>
8 <body>
9 <!--Ao enviar o dado, o mesmo será tratado pelo 'index.php'-->
10 <form action='index.php' method='post'>
11 <input type="hidden" name="enviado" value='true'/>
12 <fieldset><legend> Formulário Pessoal</legend>
13 <pre>
14 Preencha o formulário abaixo
15 <!--o campo nome será preenchido pelo seu próprio conteúdo submetido-->
16 Nome: <input type="text" name="nome" size="30" value='<?php echo $_POST['nome']?>'/>
17
18 O que gosta?
19 <!--Se o elemento submetido de nome 1 não for vazio, então marque (checked) este
20 O mesmo ocorre com os demais-->
21 <input type='checkbox' name="1" value='RPG'
22 <?php if(!empty($_POST['1'])) echo 'checked'; ?>/>RPG
23 <input type='checkbox' name="2"  value='animes'
24 <?php if(!empty($_POST['2'])) echo 'checked'; ?> />Animes
25 <input type='checkbox' name="3"  value='cinema'
26 <?php if(!empty($_POST['3'])) echo 'checked'; ?> />Cinema
27 <input type='checkbox' name="4"  value='balada'
28 <?php if(!empty($_POST['4'])) echo 'checked'; ?> />Balada
29 Caso haja outro comente
30 <!--o campo outros será preenchido pelo seu próprio conteúdo submetido-->
31 <textarea name="outros"><?php echo $_POST['outros']?></textarea>
32
33 Qual o seu sexo:
34 <!--Se o elemento submetido de nome sexo tiver o valor 'Masculino',
35 então marque (checked) este-->
36 <input type='radio' name="sexo" value='Masculino'
37 <?php if($_POST['sexo']=='Masculino') echo 'checked'; ?> /> Masculino
38 <!--Se o elemento submetido de nome sexo tiver o valor 'Feminino',
39 então marque (checked) este-->        
40 <input type='radio' name="sexo" value='Feminino'
41 <?php if($_POST['sexo']=='Feminino') echo 'checked'; ?> /> Feminino
42
43 Quanto tempo estudas por dia PHP?
44 <select name='estudo'>
45 <option>Selecione</option>
46 <!--Parecido com o exemplo anterior, verificando se o elemento submetido de nome estudo
47 possui o valor mais de 4 horas; caso afirmativo então selecione(selected) esta opção-->
48 <option value='mais de 4 horas'
49 <?php if($_POST['estudo']=='mais de 4 horas') echo 'selected'; ?>>Mais de 4 horas dia</option>
50 <option value='2 a 3 horas'
51 <?php if($_POST['estudo']=='2 a 3 horas') echo 'selected'; ?>>2 a 3 horas</option>
52 <option value='1 hora'
53 <?php if($_POST['estudo']=='1 hora') echo 'selected'; ?>>1 hora</option>
54 <option value='menos de 1 hora'
55 <?php if($_POST['estudo']=='menos de 1 hora') echo 'selected'; ?>>Menos de 1 hora</option>
56 <option value='zero'
57 <?php if($_POST['estudo']=='zero') echo 'selected'; ?>>Não estudo</option>
58 </select>
59
60              <input type='submit' value='enviar'>
61 </fieldset>
62 </pre>
63 <!--Captirando os dados e exibindo-os-->
64 <?php
65 if(!empty($_POST['nome']) && !empty($_POST['sexo']) && !empty($_POST['estudo']))
66 {
67    /*converta todos os caracteres aplicáveis para seus formatos de entidade HTML
68 para evitar qualquer código de script malisioso*/
69    $nome = htmlentities($_POST['nome']);
70    $hobby='';
71    /*cria uma variável i de valor inicial 1, que é incrementada de um em um (++) a cada
72 final de laço e o laço continuará a se repetir, com tanto que a condição $i<=4,
73 continue sendo verdadeira. */
74    for($i=1; $i<=4; $i++)
75    {
76       /*A referência do elemento é por baso no valor contido em i. Caso este elemento
77 seja diferente de vazio, faça*/
78       if(!empty($_POST[$i]))
79      //Concatene com a variável hobby
80      $hobby.=$_POST[$i].', ';
81    }
82    //substitua o penúltimo caractere contido em hobby por ponto
83    $hobby = substr_replace($hobby,'.',-2);
84    /*converta todos os caracteres aplicáveis para seus formatos de entidade HTML
85 para evitar qualquer código de script malisioso*/
86    $outros = htmlentities($_POST['outros']);
87    //pega o conteúdo do elemento de nome sexo e armazena este conteúdo na variável $sexo
88    $sexo = $_POST['sexo'];
89    //pega o conteúdo do elemento de nome estudo e armazena este conteúdo na variável $estudo
90    $estudo = $_POST['estudo'];
91    //Organiza para a exibição dos dados
92    $texto = '<pre>Nome: '.$nome.'
93 Sexo: '.$sexo.'
94 Gosta de: '.$hobby;
95    if(!empty($outros))
96       $texto.='
97 Além de: '.$outros;
98    $texto.='
99 Sua quantidade de horas de estudo é de: '.$estudo.'
100 Cuja consequência será de: ';
101    /*Verifica o conteúdo contido na variável estudo e com base neste
102 conteúdo, irá exibir uma mensagem específica*/
103    switch($estudo)
104    {
105       //Caso contenha um destes conteúdos...
106       case 'mais de 4 horas':
107   case '2 a 3 horas':
108      //concatene na variável texto a seguinte frase.
109          $texto.='possuir excelentes notas e ficar empregado.';
110          break;
111   //caso o conteúdo da variável estudo seja '1 hora', então...
112       case '1 hora':
113      //concatene na variável texto a seguinte frase.
114          $texto.='passar na prova e estar apto para o mercado de trabalho.';
115          break;
116       default:
117      //se não condiz com nem uma das anteriores; então concatene a seguinte frase
118          $texto.='não ganhar o diploma; além de perder seu dinheiro e seu tempo.';
119    } 
120    //exiba o conteúdo da variável texto
121    echo '<div style="color:blue; font-weight:bold"; margin: 40px 0 0 0;>'.$texto.'</div>';
122 }
123 /*do contrário, se há algum dos elementosw vazio, mas o avisa que o elemento enviado não
124 se encontra vazio; ou seja; afirmando que o formulário foi submetido de forma incorreta, faça*/
125 else if(!empty($_POST['enviado'])){
126    //exiba um alerta com o javascript
127    echo'<script language="javascript">
128 alert("Os campos nome, sexo e tempo de estudo; tem que estar preenchido obrigatóriamente!");
129 </script>';
130 }
131 ?>
132 </body>
133 </html>

Nenhum comentário:

Postar um comentário