:: novos artigos ::
|
|
|
:: novos scripts ::
|
|
|
|
|
FAQs
Essa seção tem como objetivo criar um histórico de perguntas ou tópicos
frequentemente perguntados para ajudar a comunidade a documentar as
necessidades dos desenvolvedores iniciantes e também experientes.
| Pergunta: |
Passando a URL |
| Autor: |
Adison
|
|
|
Respostas
Resposta contribuída por Adison
em 2004-07-16 09:14:51
|
Como faço para passar a URL atual de uma página para outra.
Ex: Tenho um formulário para indicação de páginas (indica.html), ao clicar em enviar executa a página (envia.php).
Quero recuperar a URL da página indica.html dentro da envia.php e converter em link para ser enviado juntamente com o formulário.
|
Resposta contribuída por bragatto
em 2004-07-16 17:48:32
|
Passando essa URL como campo de formulário, com nome temp, vc pode recuperar no seu script chamando a variável $temp, que já vai estar criada se a configuração do teu PHP estiver Global Variables = ON.
Espero que tenha ajudado.
[]s
|
Resposta contribuída por Alessander Thomaz
em 2004-07-16 19:32:04
|
Faça um script para conseguir as variáveis de servidor.
<pre>
<?
print_r($_SERVER);
?>
</pre>
Essa matriz contém diversas informações, uma delas é a que quer.
Ensinando a pescar ao invés de dar o peixe.
Boa sorte.
|
Resposta contribuída por Herbert Araujo
em 2004-07-20 23:55:20
|
- renomeie o arquivo indica.html para indica.php e coloque as linhas abaixo
<?php
$url=$HTTP_SERVER_VARS["HTTP_HOST"].$SCRIPT_NAME;
?>
<input type="hidden" name="url" value="<?=$url?>">
- no arquivo envia.php basta recuperar a váriável $url
$url = $_POST["url"];
|
Resposta contribuída por Marcelo Pereira Fonseca da Silva
em 2004-07-21 06:09:16
|
só um detalhe a $HTTP_SERVER_VARS tornou-se obsoleta
é interessante o uso como sugerido pelo Alessander de $_SERVER
espero ter ajudado
|
Resposta contribuída por Leandro Maniezo
em 2004-07-21 06:22:40
|
Vc pode usar tmb o HTTP_REFERER que tra a url anterior, mas não é seguro, o melhor geito e o que amigo acima citou, mas em outras situações é util...
|
Resposta contribuída por Raí Nunes Espíndola
em 2004-08-06 23:19:04
|
bom, se vc num pode mecher no indica.html só conheço o código $HTTP_REFERER , ele é a url de onde veio o clique q abriu a pagina onde se encontra o código...
|
Resposta contribuída por Thiago F. Pappacena
em 2004-08-17 13:52:12
|
Mas a refeer não é confiável, já que, segundo o manual do PHP, o brownser do cliente pode passar um valor errado da página de onde foi chamada...
Sem alterar a página que envia o formulário fica meio complicado... ;)
|
Resposta contribuída por Diogo Gomes
em 2004-09-02 18:26:03
|
Envia por um campo hidden no form do html a seguinte string:
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
Essa string pega toda a url da página atual, o procedimento é passar pelo form um campo hidden com a url encapsulada.
|
Resposta contribuída por Carlos Henrique Weinhold
em 2004-09-29 15:01:00
|
Olá, não basta apenas ter um campo hidden(no caso de ter um formulário em cada página visitada) ou uma variavel, que receba $_SERVER['PHP_SELF'] ?
O código ficaria:
$url_atual=$_SERVER['PHP_SELF'];
//No link: <a href=form_que_indica.php?url=$url_atual>indicar esta pagina</a>
//Ou.. no campo hidden: value=<? echo $_SERVER['PHP_SELF'];?>
Na página que envia a indicação basta capturar a variável vinda do método get ou post, dependendo da forma como a url foi transmitida.
Assim: $url_indicada=$_GET['url'];
ou assim: $url_indicada=$_POST['url']; (url é o nome do campo hidden do formulário)
Espero ter contribuído!
Falow!
|
Resposta contribuída por Carlos Henrique Weinhold
em 2004-09-29 15:02:06
|
Olá, não basta apenas ter um campo hidden(no caso de ter um formulário em cada página visitada) ou uma variavel, que receba $_SERVER['PHP_SELF'] ?
O código ficaria:
$url_atual=$_SERVER['PHP_SELF'];
//No link: <a href=form_que_indica.php?url=$url_atual>indicar esta pagina</a>
//Ou.. no campo hidden: value=<? echo $_SERVER['PHP_SELF'];?>
Na página que envia a indicação basta capturar a variável vinda do método get ou post, dependendo da forma como a url foi transmitida.
Assim: $url_indicada=$_GET['url'];
ou assim: $url_indicada=$_POST['url']; (url é o nome do campo hidden do formulário)
Espero ter contribuído!
Falow!
|
Resposta contribuída por Alexandre Pina
em 2004-12-12 12:04:16
|
Além de tudo acima sugiro codificar a url antes de passar para a página de envio.
$url = urlencode($url);
passa a variável para a página de envio e na página de envio você decodifica ela:
$url = urldecode($url);
Assim não há risco de interpretação por parte do PHP durante o processo de envio da informação, em especial as duas barras.
|
Imprimir |
Enviar para um Amigo
|
|
|