Ir para conteúdo

POWERED BY:

Arquivado

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

natanzinhoct

Como criar links com parâmetros na php?

Recommended Posts

Galera estou procurando a dias em tópicos em fórum, sites de ajuda e entre outros, mais ta impossível então recorri para aqui! xD

 

Quero colocar minhas paginas como por exemplo:

 

index.php?action=name

 

não sei bem nem como se chama esse sistema, de todas as coisas que eu pesquisei veio a entender que se chama parâmetros porém não achei como colocar isso, quero fazer isso para que eu possa colocar nas páginas o código para ser exibido em uma div na pagina inicial em ajax, como por exemplo nas páginas a seguir: http://goo.gl/Ckh193

 

http://goo.gl/2e1uhH | index.php?send=contact

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi bem você deseja pegar o valor do parâmetro? tipo:

 

www.meusite.com/index.php?action=contato

Se for você pode pega-lo assim:

 

$Action = $_GET['action'];

ou você que fazer:

 

www.meusite.com/?action=contato

para isso você pode usar um sistema de url amigável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse:

$Action = $_GET['action'];

Seria somente na index? como:

<?php

$Action = $_GET['action'];

?>

É tipo, o que eu entendi do site de jogo ali, a pagina contato ela é distinta da index, por não tem body,head,html... é somente o código, e em algumas paginas até chamando algumas funções em php... e o codigo da pagina contato é exibido por ajax dentro de uma div, eu quero criar esse sitema de paginas... porém não sei como! '--'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não cara em qualquer link que tenha ?action= esse $_GET irá funcionar.

da uma lida nisso: http://php.net/manual/pt_BR/reserved.variables.get.php, Enfim, se você tiver:

 

 

www.meusite.com/pagina1.php?action=contato
www.meusite.com/pagina2.php?action=outrovalor
www.meusite.com/pagina3.php?action=valoraleatorio
www.meusite.com/pagina4.php?action=contato
www.meusite.com/pagina5.php?action=contato

em qualquer um desses irá funcionar e irá pegar o valor que vem depois do 'action='.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acabei de tentar o codigo que vc citou dentro da página inicial, aparecem o erro de:

( ! ) Notice: Undefined index: action in C:\wamp\www\index.php on line 3
Call Stack
#	Time	Memory	Function	Location
1	0.7969	192792	{main}( )	..\index.php:0

CERTO!

 

e quando acessei com a url:

 

localhost/?action=contato

 

o erro não apareceu porem o tudo que está na index foi exibido. deveria a pagina contato ser exibida nesta url. a pagina contato está em ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não cara a pagina de contato não será exibida só porque na url tem action=contato, para isso você terá que pegar o valor da action e com ela da um require na pagina solicitada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer exibir uma página de acordo com o que está na URL, é isso? Se for, tem que usar mais ou menos isso:

<?php
$pagina = !empty($_GET['action'] ? $_GET['action'] : NULL;

switch( $pagina ) {

    case 'contato':
        include "contato.php";
        break;
    case 'outraAction':
        include "outrapagina.php";
        break;
    default:
        include "index.php";
        break;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leo é isso que não entendo nesta url http://goo.gl/Ckh193 é a inicial (index.php), e está http://goo.gl/2e1uhH (index.php?send=contact)

elas não são a mesma página, ao que parece ser.



Jonas, acho que pode ser isso que estou procurando coloquei o seu codigo na no topo da index acima do

<!DOCTYPE html>

todo o conteudo da index, não foi exibido, porém nem o da página de contato, por que?

 

( ! ) Parse error: syntax error, unexpected '?', expecting ')' in C:\wamp\www\index.php on line 2

 

Este é o erro que exibe para min.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo ela são sim, tipo:

 

index.php?action=contato
<?php
if(isset($_GET['action']))
{
	if($_GET['action'] == "contato")
	{
		require_once("contato.php");	
	}
}
else
{
	require_once("inicio.php");	
}
?>

se houver uma action na url eles irão mostrar a pagina solicitada caso não tenha eles irão mostrar a pagina inicial.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo cara... tentei aqui.. não da erro nenhum, mais a pagina tbm não mudou. :/



OPAAA!!!,, funcionou sim, o codigo da pagina index apareceu junto com o da index... da pra separar da index?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo cara... tentei aqui.. não da erro nenhum, mais a pagina tbm não mudou. :/

 

OPAAA!!!,, funcionou sim, o codigo da pagina index apareceu junto com o da index... da pra separar da index?

Tipo limpa toda a sua index, o conteúdo da index antiga e talz coloca em uma documento, como inicio.php na index ele apenas irá verificar a action e da require na pagina solicitada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou perfeitamente cara!! tu é um gênio!! ♥

hausahusahushausau

 

ae tem como fazer isso...

 

?action=contato

 

por exemplo na url o que esta em vermelho tem como buscalo no php automaticamente como para um nome de pagina por exemplo

 

localhost/home.asp = localhost/?action=home (index.php?action=home)
localhost/sobre.asp = localhost/?action=sobre (index.php?action=sobre)
localhost/parceria.asp = localhost/?action=parceria (index.php?action=parceria)
localhost/contato.asp = localhost/?action=contato (index.php?action=contato)

ou seja, a palavra que eu colocar onde esta em vermelho buscar uma pagina com um formato em especifico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ata perai, você que buscar difentes tipos de pagina com diferentes formatos?

 

www.site.com/index.php?action=contato.asp

 

depois

 

require_once($_GET['action']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

sistema de url amigável... tem url, ensinando fazer, ou um bom codigo? XD

 

 

e só mais uma coisa leo, neste código, como faço para adicionar mais link?

 

 

 

<?php
if(isset($_GET['action']))
{
	if($_GET['action'] == "contato")
	{
		require_once("contato.asp");	
	}
}
else
{
	require_once("inicio.php");	
}
?>

 

 

Este código ficaria asim?

 

 

<?php
if(isset($_GET['action']))
{
	if($_GET['action'] == "contato")
	{
		require_once($_GET['action']);	
	}
}
else
{
	require_once("inicio.php");	
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

se a sua url for:

 

 

www.site.com/index.php?action=contato

Você terá que criar um código para cada pagina, ex:

<?php
if(isset($_GET['action']))
{
	if($_GET['action'] == "contato")
	{
		require_once("contato.asp");	
	}
	if($_GET['action'] == "pagina")
	{
		require_once("pagina.asp");	
	}
	if($_GET['action'] == "sobre")
	{
		require_once("sobre.asp");	
	}
}
else
{
	require_once("inicio.php");	
}
?>

e ir fazendo isso para cada pagina que irá ter na action, se você usar a url:

 

www.site.com/index.php?action=contato.php

só isso irá servir para qualquer pagina:

<?php
if(isset($_GET['action']))
{
	if($_GET['action'] == "contato")
	{
		require_once($_GET['action']);	
	}
}
else
{
	require_once("inicio.php");	
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código para qualquer página não funcionou...

 

<?php
if(isset($_GET['action']))
{
	if($_GET['action'] == "contato")
	{
		require_once($_GET['action']);	
	}
}
else
{
	require_once("inicio.php");	
}
?>

esta parte em contato, está correto?

 

 

( ! ) Warning: require_once(contato): failed to open stream: No such file or directory in C:\wamp\www\index.php on line 6 Call Stack # Time Memory Function Location 1 0.0000 140496 {main}( ) ..\index.php:0

 

( ! ) Fatal error: require_once(): Failed opening required 'contato' (include_path='.;C:\php\pear') in C:\wamp\www\index.php on line 6 Call Stack # Time Memory Function Location 1 0.0000 140496 {main}( ) ..\index.php:0

 

quando eu acesso outras paginas como:

 

localhost/?action=contato

 

aparece este erro, já quando eu uso outra palavra como:

 

localhost/?action=sobre

 

não da erro, e mais tabém não aparece nada, fica em branco a pagina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o usar o de qualquer pagina é necessário a extenção do arquivo na action

 

localhost/?action=contato.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu editei o código para isso:

 

<?php
if(isset($_GET['action']))
{
	if($_GET['action'])
	{
		require_once($_GET['action']);	
	}
}
else
{
	require_once("inicio.php");	
}
?>

E deu certo para todas as páginas :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu editei o código para isso:

 

<?php
if(isset($_GET['action']))
{
	if($_GET['action'])
	{
		require_once($_GET['action']);	
	}
}
else
{
	require_once("inicio.php");	
}
?>

E deu certo para todas as páginas :D

isso isso kk não tinha percebido esse errinho, use:

<?php
if(isset($_GET['action']))
{
    require_once($_GET['action']);	
}
else
{
    require_once("inicio.php");	
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se todas as minhas paginas tiver somente um formato... como por exemplo PHP

e não queira que fique o:

 

 

localhost/?action=contato.php

 

como faz para dizer no código php que todos os formatos são php?

assim não precisaria colocar o .php na url, certo?

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.