Ir para conteúdo

POWERED BY:

Arquivado

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

mzaidan

Action para a mesma página

Recommended Posts

Prezados, boa noite.

Estou precisando dar um post para a mesma página, tem como?

 

Nesse post são passadas variáveis e criadas sessões.

Eu já estou passando ela para outra página, e está tudo ok.

 

Mas, precisaria passar para a mesma página, ao invés de outra.

 

Tem como?

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a dificuldade? Basta colocar o action com o próprio nome da página, ai bastaria algo do tipo

 

<?php
if(count($_POST) > 0){
//Já foi enviado o post
}else{
//Ainda não foi enviado o post
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, o correto seria verificar o valor de REQUEST_METHOD na variável $_SERVER.

 

Se for POST (ou post, não lembro agora), o formulário foi submetido. Se não, não foi, óbvio. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

<form action="#" method="post" >

 

Por padrão, todos os fomulários/links com # apontam para a própria página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se ajuda:

 

Se a sua pagina for produtos por exemplo:

 

produtos.php

 

no começo da pagina poe:

 

<?php
if(isset($get['action'])){
SUA AÇÃO AQUI
}
?>
...
<form action="produtos.php?action" method="post">
...
</form>

 

Se você entende bem do assunto, da para adaptar melhor, eu fiz só uma base para você ter a lógica

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos a explicação.

 

Por PADRÃO , se você deixar o campo do action do formulário assim:

 

<form action="" method="post">

 

Ele já vai para a mesma página, entretanto não é o método mais correto.

 

No PHP existe um Array global com variáveis de Sistema ( A grosso modo falando ) que possuem índices diferentes, um deles é o PHP_SELF, que retorna a sua URI atual.

 

Exemplo:

 

http://localhost/meu-site/minha-pagina.php

 

Ele vai retornar:

 

/meu-site/minha-pagina.php

 

Entendeu?

 

Faça como o @igor disse:

 

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">

 

Qual a dificuldade? Basta colocar o action com o próprio nome da página, ai bastaria algo do tipo

 

<?php
if(count($_POST) > 0){
//Já foi enviado o post
}else{
//Ainda não foi enviado o post
}
?>

 

Não, não faça dessa forma. Pra que verificar o tamanho do Array $_POST se você possui o isset?

 

Faça dessa forma:

 

if(isset($_POST)) // Se existir o array post, pq ele não retorna undefined index.
{
// O seu código vem aqui.
}

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados, boa noite.

Estou precisando dar um post para a mesma página, tem como?

 

Nesse post são passadas variáveis e criadas sessões.

Eu já estou passando ela para outra página, e está tudo ok.

 

Mas, precisaria passar para a mesma página, ao invés de outra.

 

Tem como?

 

Desde já agradeço.

eh somente questao de interpretacao de texto, nao tem nada relacionado a como enviar o post, e sim a onde enviar, portanto

 

<form action="<?php echo $_SERVER['PHP_SELF'];?>" ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Não, não faça dessa forma. Pra que verificar o tamanho do Array $_POST se você possui o isset?

 

Faça dessa forma:

 

if(isset($_POST)) // Se existir o array post, pq ele não retorna undefined index.
{
// O seu código vem aqui.
}

 

:thumbsup:

Simples, o tamanho te diz quantos elementos tem, o isset verifica se o $_POST existe, agora vem a questão, $_POST como superglobal SEMPRE existe, mesmo que esteja vazia.

 

Jogue em um arquivo vazio o seguinte:

if(isset($_POST)) // Se existir o array post, pq ele não retorna undefined index.
{
echo 'aqui';
}

 

E veja se não vai retornar aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tbm acho:

 

eh somente questao de interpretacao de texto, nao tem nada relacionado a como enviar o post, e sim a onde enviar, portanto

 

<form action="<?php echo $_SERVER['PHP_SELF'];?>" ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o______________________________________________________________________________o.

 

Faça o seguinte. :lol:

 

<?php

var_dump($_POST);

?>

 

<form action="<?php echo $_SERVER['PHP_SELF']" method="post">
<input type="text" name="nome"/>
<input type="submit" value="Enviar"/>
</form>

 

Agora veja o que ele vai te retornar quando você entrar na página >:D

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.