Obter dados via POST na mesma página PHP
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
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’ />
<input type=’text’ name=’nome’ />
<php echo $_POST[“nome”]; ?><input type=’submit’ value=’enviar’ />
</form>
</form>