Jump to content

Passar valor de variáveis entre ficheiros (GET ou POST) !


LuBoc
 Share

Recommended Posts

Olá grande comunidade,

Venho aqui pedir a vossa opinião/explicação para situação relacionada com a passagem de parâmetros entre ficheiros .PHP

Imaginem que têm num ficheiro isto:

Ficheiro: index.php

<?php
global $var1,$var2; 

$var1 = 1;
$var2 = 2;

include("lervar.php");

?>

Agora, no outro ficheiro temos:

Ficheiro lervar.php

<?php
global $var1,$var2; 

$var1=$_GET["var1"];
$var2=$_GET["var2"];

echo "valor 1: $var1 <br>";
echo "valor 2: $var2";
echo "<p>";
echo "<a href=\"lervar.php?var1=11\">Novo var1</a> | <a href=\"lervar.php?var2=22\">Novo var2</a>";

?>

Quando chamamos o index.php, veremos o valor do var1 e do var2, e dois links para os novos valores dos mesmos. Quando se clica num desses links (que chama somente o lervar.php) obtemos só o valor de um deles e não dos dois!

Aguém tem uma solução de ter as variáveis "globais" e que usando GET's se consiga passar as duas variáveis.

Nota: Sei que poderia colocar no link as duas variáveis, mas imaginem que são 5, 10, 20, etc... a ideia seria só passar aquela que foi alterada.

Agradeço as vossas opiniões/dicas sobre esta matéria.

Cumprimentos,

LuBoc

Link to comment
Share on other sites

Evidente que só apanhas uma variavel, só tas a passar uma. Se queres os valores entre chamadas, tens de os guardar, em $_SESSION por exemplo. 

Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Link to comment
Share on other sites

btw, qd queres globalizar 2 variáveis, tens que por um espaço a seguir à virgula :P

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Olá,

Agradeço as vossas respostas....

Evidente que só apanhas uma variavel, só tas a passar uma. Se queres os valores entre chamadas, tens de os guardar, em $_SESSION por exemplo. 

Sim, eu sei que estou a passar uma só variável no Link, era para saber se alguém tinha uma forma de o fazer sem estar a passar mais sem declarar nesse link. A sugestão que dás é o $_SESSION, também penso que é uma forma de o fazer, assim como num POST.

Não sei porquê que declaraste a variavel $var1 e $var2 como globais nao vejo necessidade de as declarar como globais.

Sim, se ficarmos por este exemplo claro que não é necessário.

btw, qd queres globalizar 2 variáveis, tens que por um espaço a seguir à virgula :)

Não creio! Se tiveres alguma documentação sobre isso, por favor indica-me... obrigado.

============

Mas em relação à minha questão inicial: não existe nenhuma forma de simular um GET como se fosse um SESSION ou POST ?

Uma forma de passar, via link, uma variável alterada e a(s) outra(s) manterem o seu valor, sem estar a referi-las no link.

Um nota: nas definições do PHP, a directiva register_globals não está activa.

Vi também isto:

$GLOBALS ... citando «é um array associativo onde o nome da variável global é a chave do array e o seu conteúdo da variável como o valor do elemento do array. $GLOBALS existe em qualquer escopo, isto porque $GLOBALS é uma superglobal. »

Mas não dá para o pretendido.

Cumprimentos,

LuBoc

Link to comment
Share on other sites

Cmg o script crash se meter $var,$var2 mas se meter $var, $var2 já n crasha.

qt à 1ª questão,

$_POST['balh']=$_GET['balh'];

? btw, conheces o $_REQUEST?

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Já a muito tempo que ando com preguiça de ajudar os usuarios lool este fim de semana vou me dedicar a ajudar... :)

Como assim simular um GET como se fosse um SESSION ou POST ?  Explica lá melhor...

Link to comment
Share on other sites

Olá,

Como assim simular um GET como se fosse um SESSION ou POST ?  Explica lá melhor...

É mais ou menos isto:

Para um GET podes usar um link, p.e., <a href="ficheiro.php?op=1&var=2">Link</a>

que depois em "ficheiro.php" vais ler as variáveis "op" e "var"

Imagina que em vez de teres duas variáveis, tens "n" variáveis.. passar num link é chato.

Mas num POST tu consegues passá-las usando um <FORM>...</FORM>, acontece que dá mais trabalho fazer isso.

Imagina ter uma solução que através de um Link consegues passar as "n" variáveis, indicando no Link somente as variáveis que foram modificadas e as outras também seriam passadas sem nessidade de fazer referência a elas.

Uma indicação para isso é, como referido, o POST ou o SESSION mas...

será que existe uma alternativa a isso?

será que usando veriáveis "superglobais" se consegue?

ou colocar numa variável do tipo array todas as variáveis existentes?

Eu não sei se existe alguma forma, talvez nem exista, isto seria mais um exercício de analise / programação.

Cumprimentos... e obrigado uma vez mais.

LuBoc

Link to comment
Share on other sites

Mas que raio de relação existe enre o SESSION e o POST/GET!! As variaveis vêm no get ou no post, se as quiseres guardar para o proximo request tens de a por em algum lado como na variavel SESSION. Se queres passar só a variavel em que fiseste alterações tudo bem, mas tens de a comparar com os valores anteriores, e esses tem de estar guardados em uma variavel que se mantenha entre requests.

Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Link to comment
Share on other sites

Olá, bom dia,

Mas que raio de relação existe enre o SESSION e o POST/GET!! As variaveis vêm no get ou no post, se as quiseres guardar para o proximo request tens de a por em algum lado como na variavel SESSION. Se queres passar só a variavel em que fiseste alterações tudo bem, mas tens de a comparar com os valores anteriores, e esses tem de estar guardados em uma variavel que se mantenha entre requests.

Sim, eu sei isso... mas o que estava a comentar/discutir seria uma outra forma de o fazer caso fosse possível. A situação do modo como a escrevi é ainda algo "imaginário" visto não existir, razão pela qual indiquei que é um exercício de análise/programação de modo a ver se era possível fazer algo do pretendido. Seria uma "nova" forma de passar variáveis entre "requests".

Mas no fundo, resumido as mensagens colocadas, o melhor no caso exposto é usar o SESSION.

Fiquem bem e um bom Domingo.

Cumprimentos,

LuBoc

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.