PHP - Global registers desabilitados

Olá pessoal…Sei que foge do escopo da comunidade, mas como sei que aqui tem muito fera em várias linguagens, achei que o pessoal poderia me ajudar.

Aqui na minha universidade estão trocando o servidor http e no processo estão fechando o certo para páginas mal implementadas que deixavam furos de segurança. Antes rodava PHP 4 agora está rodando PHP 5, todavia com os Global Registers desabilitados. Bem, ao que parece a página do projeto do meu grupo de pesquisa é uma dessas mal implementadas e acabei ficando com a responsabilidade de refatorar o código em PHP (!!!), contornando o uso dessas variáveis globais…O problema é que eu não sei PHP, estou aprendendo na marra!

Queria saber como devo tratar a passagem de valores para scripts e como devo tratá-los, já que boa parte dos scripts desse portal tratam as variáveis recebidas como globais.

Segue um exemplo:

echo "<a class='item14' href='lista_public_port.php?id=".$id1."'>"

Isso gera um link que chama o script “lista_public_port.php”, passando um identificador.

Dentro deste script, o cara já sai usando a variável $id como se fosse global. Assim:

[code]$sqlTitulo = “SELECT TP.nomePlural Nome " .
" FROM TIPO_PUBLICACAO TP " .
" WHERE TP.id =”.$id;

$resultado_titulo = mysql_query($sqlTitulo);[/code]

Alguém sabe como eu posso aplicar boas práticas de programação em PHP neste caso? Como eu posso passar e receber parâmetros sem utilizá-los como variáveis globais, como foi feito aqui?

Agradeço muito se alguém puder me ajudar.

Não sou muito do php também, mas pelo que sei a única forma é usar:

$id1=$_POST['id1'];
//ou
$id1=$_GET['id1'];

Ou seja, tem que sair declarando as variáveis que são usadas, página por página.

Ola!

Pelo que sei de PHP, ta correto mesmo…
Quando voce vai “passar” variaveis de uma pagina pra outra direto na url,
como em pagina.php?variavel=valor voce usa

variavel =  $_GET["variavel"]  // aspas sao importantes!!!

E quando utiliza formularios com method=post, utiliza

variavel = $_POST["variavel"]

E um detalhe importante eh que isso so vale pra proxima pagina.
Ou seja, se da pagina1 vc passa para a pagina2, nela o valor estara
disponivel, mas para “pegar” os valores na pagina3, tera que repassa-los novamente…

Nao sei se fui claro neste ultimo paragrafo, mas qualquer coisa, da um grito ae.
:smiley:

Abraco!

Opa!
Foi claro sim!
Já usei a solução que tu propuseste e está funcionando perfeitamente!

Me quebrou um galho enorme!

Valeu!