<< Click to Display Table of Contents >> Post |
![]() ![]() ![]() |
// um formulário com 2 campos string: nome e email.
// método será definido pela classe $form->metodo (get ou post)
// o action é o proprio que chamou
<form name="post" action="./sistema.php" method="<?= $form->metodo; ?>" enctype="multipart/form-data" novalidade>
<p style="margin-bottom: 10px; text-align: right"><a href="./" title="Atualizar">Atualizar</a></p>
<div class="col2">
<input type="text" name="nome" value="<?= $form->nome; ?>" placeholder=Nome:"/>
<input type="email" name="email" value="<?= $form->email; ?>" placeholder=Email:" required/>
</div>
<button>Enviar</button>
</form>
// cria a classe padrão que vamos mandar para formulario
$form = new StdClass();
$form->nome = ""; // valores padrao
$form->email = "";
// método de entrada =pela url
$form->metodo = "post";
// visualiza o que veio do POST, só de curiosidade, não USE esse
var_dump($_POST);
// mostra o formulário
include __DIR__."/form.php";
// maneira correta de pegar os post - impede invasões e injeção de script
$post = filter_input(INPUT_POST, "nome", FILTER_DEFAULT);
var_dump($post); // retorna nome que preencheu
$post_array = filter_input_array(INPUT_POST, FILTER_DEFAULT);
var_dump($post_array); // retorna todas as variaveis
// se nao tiver valores, vai ficar null, e será false esse if
if ($post_array) {
// tem valor vazio na array?
if (in_array("", $post_array)) {
// algum valor vazio
echo "<p class='trigger warning'>Preencha todos os campos</p>";
} elseif (!filter_var($post_array["email"], FILTER_VALIDATE_EMAIL)) {
// email invalido
echo "<p class='trigger warning'>Email incorreto</p>";
} else {
// vai remover código "<>" da string
$save = array_map("strip_tags", $post_array);
// trim = remove espacos desnecessarios
$save = array_map("trim", $save);
// essa $save que vamos mandar para o servidor (já limpo e seguro)
var_dump($save);
echo "<p class='trigger accept'>GRAVOU!</p>";
}
}