Obter dados via POST na mesma página  PHP

postado em: Dicas | 0

Geralmente, aprendemos nos tutoriais de PHP a enviar os dados via método Post para outra página PHP.

Hoje vou ensinar uma maneira de “pegar” esses dados, enviando-os para a mesma página; ou seja, numa página só você conseguirá executar o envio dos dados do seu formulários.Para isso, utilizo uma verificação de condição na variável global $_SERVER[“REQUEST_METHOD”].O código PHP ficará assim:<?php
if ( $_SERVER[‘REQUEST_METHOD’]  == ‘POST’ )
{
//Seu código a ser executado depois do post
}
?>Para enviar o seu formulário para a mesma página, basta inserir o seguinte código no action do seu formulário

<?php echo $_SERVER[‘PHP_SELF’]; ?>

Que ficará assim:

<form action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>” method=”POST”>

Exemplo1:

<?php

if( $_SERVER[“REQUEST_METHOD”] == “POST”)
{
echo $_POST[“nome”];
}?>

<form action=”<?php echo $_SERVER[“PHP_SELF”]; ?>” method=”POST”>
<input type=’text’ name=’nome’ />
<input type=’submit’ value=’enviar’ />
</form>

 

Nota: Você também pode usar o “target=”_self” com action=”#”.

Veja:
<form name=”form” action=”#” method=”post” target=”_self”>
e fazer validações dentro do formulário com a inclusão do código:
<php echo $_POST[“nome”]; ?>
Exemplo2:
<form name=”form” action=”#” method=”post” target=”_self”>
<input type=’text’ name=’nome’ />
<php echo $_POST[“nome”]; ?><input type=’submit’ value=’enviar’ />
</form>