• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ivobarbosa

ajuda em variavel url

8 mensagens neste tópico

Olá a todos.. tenho uma duvida...

tenho uma pagina php que envio uma variável para o url, exemplo: http://localhost/teste/exemplo_pagina1.php?id=2 o que preciso de fazer, é o seguinte, há forma de substuir ou ignorar tudo o que vem para trás de exemplo_pagina1.php ? ou simplesmente me escrever sempre o nome do ficheiro php numa variavel?é que exemplo_pagina1.php vai mudar sempre por outros nomes, exemplo_pagina2.php ou exemplo_pagina3.php e por ai... consigo ir buscar o caminho completo mas, para o que quero não serve, mas sim só o nome do file php

Se alguém me poder dar uma dica avise :)

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porquê que precisas de saber o nome do ficheiro php? Quando o chamas com http://localhost/teste/exemplo_pagina1.php?id=2 sabes que estás no exemplo_pagina1.php, uma vez que esta que é chamada.

Porque o nome do ficheiro php vai ser diferente e a variavel que vem a frente é que vai ser igual... vou te dizer para que quero para ver se percebes... tou a fazer um site multilingua e faço passar as variaveis para o url do genero lang=pt e lang=en percebes? e coloquei duas bandeiras como link uma de portugal e outra de inglaterra e o que queria, era quando clica-se na bandeira o link passa-se a variavel para o url, consigo fazer bem isso se colocar, tipo bandeira pt o link vai ser index.php?lang=pt mas como quero fazer isto em varias paginas se mantiver assim se a outra pagina se chamar x, quando clico não vai mudar so a variavel mas sim tb a pagina, e se consegui-se saber sempre o nome da pagina que esta no url o link da bandeira, iria mudar consoante a pagina. Percebes?era isso que pretendia... a parte das bandeiras é um include mas ja tou a ver que nao pode ser e em todas as paginas tenho que mudar o link da bandeira.. so vejo a funcionar dessa forma... sugestões??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom, nesse caso o fnds já te deu uma dica.

É só olhares para o manual de PHP. Uma vez que existe uma forma de obter as query strings, também deve existir uma forma de obter o ficheiro onde o script está localizado, não achas?

Neste caso será $_SERVER['PHP_SELF']

Se o ficheiro fôr http://www.oteusite.com/foo/bar.php, devolve /foo/bar.php. Ou seja devolve a localização do documento relativa à root do website. É tudo o que precisas para gerar o link.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom, nesse caso o fnds já te deu uma dica.

É só olhares para o manual de PHP. Uma vez que existe uma forma de obter as query strings, também deve existir uma forma de obter o ficheiro onde o script está localizado, não achas?

Neste caso será $_SERVER['PHP_SELF']

Se o ficheiro fôr http://www.oteusite.com/foo/bar.php, devolve /foo/bar.php. Ou seja devolve a localização do documento relativa à root do website. É tudo o que precisas para gerar o link.

Isso tb ja testei... mas n sei como fazer pare ele ignorar o k esta para tras da " /" no teu exemplo so queria mesmo o nome bar.php e não o resto do caminho que esta para tras... percebes agora o meu problema? talvez com string replace se va la, mas n sei como fazer isso... e se o caminho tb for diferente atras tinhas k andar a fazer isso a todas as palavras não?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo que percebi quando mudas de lingua o teu site carrega um site diferenre, ou seja tens uma versão do site em inglês e outra em português, e o que queres que aconteça é que independentemente da pagina que estas a visualizar possas saltar de lingua em lingua sem sair da pagina.

ok imagina que a tua pagina em tuga se chama index_pt.php e a tua página em inglês se chama index_en.php. sendo as duas iguais e muda somente a lingua do conteudo.

estado tu no seguinte link http://www.site.pt/index_pt.php?da=solucao

o que tem que estar no link da bandeira en é : http://www.site.pt/index_en?da=solucao certo?

se eu percebi bem podes alcançar este resultado da seguinte forma.

ao inprimir o link para a bandeira en faz assin:

<a href="http://www.site.pt/<?php echo $_SERVER["QUERY_STRING"]?>"><img src="bandeira_en.jpg" alt="en" /></a>

apesar de esta não ser a melhor abordagem para fazer traduções.

Espero ter ajudado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo que percebi quando mudas de lingua o teu site carrega um site diferenre, ou seja tens uma versão do site em inglês e outra em português, e o que queres que aconteça é que independentemente da pagina que estas a visualizar possas saltar de lingua em lingua sem sair da pagina.

ok imagina que a tua pagina em tuga se chama index_pt.php e a tua página em inglês se chama index_en.php. sendo as duas iguais e muda somente a lingua do conteudo.

estado tu no seguinte link http://www.site.pt/index_pt.php?da=solucao

o que tem que estar no link da bandeira en é : http://www.site.pt/index_en?da=solucao certo?

se eu percebi bem podes alcançar este resultado da seguinte forma.

ao inprimir o link para a bandeira en faz assin:

<a href="http://www.site.pt/<?php echo $_SERVER["QUERY_STRING"]?>"><img src="bandeira_en.jpg" alt="en" /></a>

apesar de esta não ser a melhor abordagem para fazer traduções.

Espero ter ajudado

não era bem isso o pretendido porque tanto o ingles como portugues vem da mesma pagina... so muda a variavel pt e en mas entretanto ja resolvi a questão que foi mudar o header de um include e fazer um header diferente para cada pagina e escrevo o nome da variavel manualemnte. Mas obrigado na mesma pela ajuda :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora