Ir para conteúdo

POWERED BY:

Arquivado

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

lordvelkain

[Resolvido] Como receber parametros de um link na mesma pagina?

Recommended Posts

Olá pessoal,

 

 

Estou com uma dúvida. Faz dois dias que pesquiso neste forum e não obtive progresso.

 

Pra quem está acostumado com PHP é simples.

 

Estou fazendo uma pagina e quero que os links sejam carregados nela de uma forma dinâmica. Exemplo:

 

Tenho a index.php com dois links "home" apontando para index.php e "contato" apontando para index.php?Nome="teste"

 

Como posso receber esse valor enviado pelo segundo link? já tentei com $_GET, $_POST mas nao consegui.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tá na URL é com o $_GET mesmo.. veja esse script que fiz para esse carregamento com includes:

<?	//criando varável para armazenar a navegação

$pg = $_GET['pg'];

 

 

if($pg=='')

include ('home.html');

elseif(file_exists($pg.'.html'))

include ($pg.'.html');

elseif(file_exists($pg.'.php'))

include ($pg.'.php');

else

include ('home.html');

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atenção ao programar, utilize sempre as tags corretas:

 

<?php

?>

melhor com o swtich:

 

<?php
switch($_GET['Nome']){

 case 'teste': include('teste.html'); 
 break;
 case 'outro'; include('outro.html');
 break;
 default include('index.html');
 break;

}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Probleminha que eu achei com o switch é que se eu tiver 15 links, terei que listar esses 15 nesse trecho do código.

E com a cadeia de if e elses que eu construi, é mais automático, e uma mudança no nome do arquivo, não me causa falhas na include.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais ai que ta o problema, isso pode levar a uma consequeência maior, por isso eu prefiro o switch, pois se a URL não for exata, ele não me traz a página.

 

com IF também pode fazer o mesmo declarando o operador lógico ===

 

mais eu ainda assim prefiro o switch.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então.. por causa disso tem o ultimo else:

else
		include ('home.html');
Se a URL não for exata, tá ai o meu default. Não vai dar erro no include, pois estou testando se o arquivo existe antes de passar para a função. Sinceramente, não vi vantagem no switch :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

poisé, por isso no switch eu tenho o meu default, qualquer coisa diferente ele redireciona, e eu não preciso fazer mais de 3 linhas no switch, pois uso class tudo dinâmico. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas veja que eu tenho o meu default tb..

E se um dia eu mudar o nome do arquivo, não preciso me preocupar em procurar no código ou no banco, onde listei os arquivos possíveis...

 

Já que é BEM mais automático, testar se o arquivo existe, se existir, inclui. Se não, manda pra home.

Até sei que switch, é "mais rápido" que uma cadeia de if e else, mas nesse caso, não vi vantagem usar switch/case...

Com 10 links, você teria de ter 10 cases, com 20 links, seriam 20 cases.. o meu não.. continua essas poucas linhas ai... =D

 

E poderiam ser menos, se eu usasse apenas uma extensão nas páginas. Veja que testo para .HTML e .PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tá na URL é com o $_GET mesmo.. veja esse script que fiz para esse carregamento com includes:

<?	//criando varável para armazenar a navegação
	$pg = $_GET['pg'];


	if($pg=='')
		include ('home.html');
	elseif(file_exists($pg.'.html'))
		include ($pg.'.html');
	elseif(file_exists($pg.'.php'))
		include ($pg.'.php');
	else 
		include ('home.html');
	
	?>

 

consegui fazer. obrigado!!!!

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.