Advertisement
Gleidson_21

Sanitização junto com validação

Jun 25th, 2021
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.77 KB | None | 0 0
  1. <?php
  2. // Sanitização - os filtros de sanitize, servem para limpar as variáveis
  3. //Funções (filter_input - Filter_var) // Filtrar dados vindo de um input, e filtrar dados vindo de variaveis
  4. //FILTER_SANITIZE_SPECIAL_CHARS
  5. //FILTER_SANITIZE_NUMBER_INT
  6. //FILTER_SANITIZE_EMAIL
  7. //FILTER_SANITIZE_URL
  8.  
  9. //Sanitização e validação serão utilizados juntos.
  10. ?>
  11.  
  12. <!DOCTYPE html>
  13. <html lang="en">
  14.  
  15. <head>
  16.   <meta charset="UTF-8">
  17.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  18.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  19.   <title>Document</title>
  20. </head>
  21.  
  22. <body>
  23.  
  24.   <?php
  25.   if (isset($_POST['enviar-formulario'])) : //verifica se existe o indice de name enviar-formulario n oarray da superglobal post, se existir épq alguem clicou
  26.     $erros = array();
  27. //Sanitize
  28.  
  29.     $nome = filter_input(INPUT_POST,'nome',FILTER_SANITIZE_SPECIAL_CHARS); // server para não deixar que se un codigo html for digitado no html ser criado um elemento html
  30.     echo $nome;
  31.  
  32.     $idade = filter_input(INPUT_POST,'idade',FILTER_SANITIZE_NUMBER_INT); // se for colocado um texto e numeros, sera enviado apenas os numeros inteiros colocados
  33.     if(!filter_var($idade,FILTER_VALIDATE_INT)): //Se a variavel idade não for um inteiro, porem se for colocado um texto e numeros inteiros sera filtrado os nuemros inteiros, devido ao filter acima
  34.       $erros [] = "Idade precisa ser um inteiro"; // adicione um erro ao arrays de erros
  35.  
  36.     endif;
  37.  
  38.     $email = filter_input(INPUT_POST,'email',FILTER_SANITIZE_EMAIL); // se for colocado coisas junto ao email, ele filtrara e enviara so o email
  39.   if(!filter_var($email,FILTER_VALIDATE_EMAIL)):
  40.       $erros [] = "EMAIL invalido.";
  41.  
  42.   endif;
  43.  
  44.  
  45.     $url = filter_input(INPUT_POST,'url',FILTER_SANITIZE_URL); // se for colocado coisas junto a url, sera filtrada a url.
  46.   if(!filter_var($url,FILTER_VALIDATE_URL)):
  47.     $erros [] = "URL invalida";
  48.    
  49.   endif;
  50.  
  51.     if (!empty($erros)) : // se o array de erros não estiver vazio
  52.       foreach ($erros as $erro) : // percorra cada erro e o imprima
  53.         echo "<li>$erro</li>";
  54.       endforeach;
  55.     else : // se o array de erros estiver vazio, imprima a frase abaixo
  56.       echo "Parabens, seus dados estao corretos";
  57.     endif;
  58.  
  59.   endif;
  60.   ?>
  61.  
  62.  
  63.   <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  64.     <!-- VAMOS processar os dados na mesma pagina que esta sendo executada-->
  65.  
  66.     Nome: <input type="text" name="nome"> <br>
  67.     Idade: <input type="text" name="idade"> <br>
  68.     Email: <input type="text" name="email"> <br>
  69.     URL: <input type="text" name="url"> <br>
  70.     <button type="submit" name="enviar-formulario"> Enviar</button> <br>
  71.     <!-- atribui um namen para o butao de enviar formulario-->
  72.  
  73.  
  74.  
  75.   </form>
  76. </body>
  77.  
  78. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement