Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabiapo

Como saber se o form foi enviado?

Recommended Posts

Pessoal,

 

Estou desenvolvendo um form em PHP.

 

Porém, no action estou colocando a mesma página com o método POST.

 

Pergunta: Como sei que o FORM foi enviado para que eu possa fazer o tratamento e devolver o retorno na mesma página?

 

Achei uma constante chamada $_SERVER['REQUEST_METHOD']=="POST" e coloquei um IF. Mas toda a vez que chamo a página, mesmo sem enviar o form, ele imprime "ola".

 

Ex.:

 

if ($_SERVER["REQUEST_METHOD"]=="POST")

{

echo "ola";

 

}

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<form>

 

<input type="submit" name="enviar" value="enviar">

 

</form>

 

 

<?php

if (isset($_post['enviar'])) // nome do botão submit, qdo ele for setado (pressionado) o código roda
{
	echo 'enviar formulário';
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maicon,

 

O problema é que quando pressiono refresh no meu browser, ele aciona o código.

 

Como fazer para que, apenas quando ele pressionar o botao submit, ele entenda o código uma única vez?

 

Obrigada!

 

 

<form>

 

<input type="submit" name="enviar" value="enviar">

 

</form>

 

 

<?php

if (isset($_post['enviar'])) // nome do botão submit, qdo ele for setado (pressionado) o código roda
{
	echo 'enviar formulário';
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que quando pressiono refresh no meu browser, ele aciona o código.

eh que quando você da F5( refresh ) ele REcarrega a pagina .. a mesma pagina com os mesmos atributos ... se você der um ctrl + F5 ele ira carregar la somente.. carrega la do zero ..

Como fazer para que, apenas quando ele pressionar o botao submit, ele entenda o código uma única vez?

nao to lembrado mas acho que tem um comando que libera os atributos das estruturas.. vi no forum mas ja faz um tempinho..

 

 

valww espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Will,

 

É isto mesmo. Com F5 ele recarrega e reenvia os dados.

 

Agora, se você souber como faço para enviar uma única vez para o servidor, eu lhe agradeço pois posso correr o risco de inserir um registro mais de uma vez.

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta sendo enviado denovo pois está no cache do navegador, então, você tem que usar algo do tipo:

 

    header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
   header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
   header( "Cache-Control: no-cache, must-revalidate" );
   header( "Pragma: no-cache" );

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.