Jump to content

[RESOLVIDO]Esconder url


pedrosorio
 Share

Recommended Posts

Não sei se estou na secção certa, espero que sim.

Imaginem que eu escrevo um url de um ficheiro php com *.php?a=5  , por exemplo, e quero receber os dados que estão na url. Tenho que usar GET certo? Como é que eu escondo a parte do a=5?

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

Yep, o GET e o POST são usados de maneira semelhante, sendo que enquanto o GET mostra no url as variaveis que definiste, o POST não.

The difference between METHOD="GET" (the default) and METHOD="POST" is primarily defined in terms of form data encoding. The official recommendations say that "GET" should be used if and only if the form processing is idempotent, which typically means a pure query form. Generally it is advisable to do so. There are, however, problems related to long URLs and non-ASCII character repertoires which can make it necessary to use "POST" even for idempotent processing.

Fonte: http://www.cs.tut.fi/~jkorpela/forms/methods.html

Link to comment
Share on other sites

Eu já li isso. Mas fiquei com a impressão de que se escrevesse no url directamente *.php?a=5 e depois usasse o POST, aquilo não me reconhecia a variável.

Eu quero poder escrever no url e que ao fazer load da página desapareça do url.

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

Não dá com o GET!

Ao utilizares o POST, as várias variáveis não serão sequer colocadas no url.

"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Link to comment
Share on other sites

Podes inventar.... lol tipo... ir para endereço.php?sdfsd=sdfsdfsd&sdfsd=sfdsfsd e depois fazes um redirect para endereço.php e guardas como session ou assim... mas isso é algo impensável...

Podes te explciar ao certo o que queres? talvez haja alternativas para alem de posts

"Quando eu for grande quero ser como o Celso"

Link to comment
Share on other sites

Está aqui é um pouco de confusão.

GET e POST são dois tipos de pedidos HTTP, não são funcionalidades do PHP.

Lê primeiro um tutorial sobre HTTP por exemplo na wikipédia, ou um que aí anda que se chama "HTTP made really simple", é bem mais simples do que parece.

Ao inserires um url no teu browser estás a fazer um pedido do tipo GET. Os pedidos GET consistem simplesmente em cabeçalhos, dos quais o cabeçalho que contem o URL e cujo nome exacto não me lembro é obrigatório.

Um pedido do tipo POST, pode conter, para alem dos cabeçalhos, mais dados no fim destes. Tipicamente coisas escritas em formulários HTML em páginas web, mas á muitas mais formas de enviar pedidos post e mais situações em que isso é usado. Para dares a oportunidade ao utilizador de fazer um pedido do tipo POST na tua página, tens que ou criar um formulário com campos pré-definidos e um butão submit, podes disfarça-lo de link com javascript. Outra forma é usares o javascript para fazeres o pedido.

Mas porque é que queres tirar isso do url? Esconder isso é inutil.

EDIT.... ok já via  tua resposta.

Deves então enviar um pedido post usando uma biblioteca HTTP escrita linguagem em que o teu programa está escrito. Essas bibliotecas são fequentemente chamadas coisas tipo CURL, urllib, httpclient, etc.

Mas se o utilizador quiser ver o que lá está é questão de intalar o whireshark.

Link to comment
Share on other sites

Afinal acabei por conseguir  🙂

<?php

ob_start();

?>

<html>

<?php>

...

header("location: file.php")

...

ob_end_flush();

?>

</html>

E funcionou  🙂

Como eu percebo pouco de php podem-me dizer se incorri nalguma má prática de programação? Pode trazer alguma desvantagem?

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

O que isso faz é enviar no cabeçalho HTTP o código 301, que significa "moved permanently" seguido de alguns parâmetros, sendo o parametros, um dos quais é o location, para o browser do cliente saber para onde redirecionar.

Mas estou aqui a ver, isso funciona? É que tens html antes desse header, supostamente, a aprtir do momento que enviar html para o outpu os headers já foram enviados pelo que se definires um devia dar erro.

Link to comment
Share on other sites

Mas estou aqui a ver, isso funciona? É que tens html antes desse header, supostamente, a aprtir do momento que enviar html para o outpu os headers já foram enviados pelo que se definires um devia dar erro.

Normalmente dá erro. Estranho...
Link to comment
Share on other sites

Se vocês repararem, ele está a fazer output buffering 🙂

Está bom. 🙂

Ya, quando tentei usar isso também me dava erro, mas depois vi um exemplo em que impediam de fazer output até ao fim do código usando ob_start() e ob_end_flush

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

Bom se a ideia é enviar informação de uma aplicação desktop para um servidor web, a melhor forma é mesmo o webservice no entanto com php é um pouco mais complicado mas faz-se

O que não tem solução, solucionado esta...

Link to comment
Share on other sites

Se vocês repararem, ele está a fazer output buffering 🙂

Está bom. 😛

lol, não reparei 🙂

Bom se a ideia é enviar informação de uma aplicação desktop para um servidor web, a melhor forma é mesmo o webservice no entanto com php é um pouco mais complicado mas faz-se

Quem disse isso?
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.