Thy Postado Junho 14, 2005 Denunciar Share Postado Junho 14, 2005 alguém poderia me esclarecer:1. qual a diferencia entre uma variavel global e uma não( e ond uso corretamente)2. como funciona a session? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LORD.OF.PHP Postado Junho 14, 2005 Denunciar Share Postado Junho 14, 2005 Lá vai!Escopo de variáveisO escopo de uma variável é o contexto onde ela foi definida. A maior parte das variáveis do PHP tem somente escopo local. Este escopo local inclui os arquivos incluídos. Por exemplo: <?php$a = 1;include "b.inc";?> Aqui a variável $a estará disponível no script incluído b.inc. Entretanto, com as funções definidas pelo usuário, um escopo local é introduzido. Quaisquer variáveis utilizadas dento da função é por default limitada dentro do escopo local da função. Por exemplo: <?php$a = 1; /* escopo global */function Teste(){ echo $a; /* referencia uma variável do escopo local (não definida) */}Teste();?> Este script não produz nenhuma saída porque a instrução echo() refere-se a uma versão local da variável $a, e ela não tem nenhum valor assimilado nesse escopo. Essa é uma pequena diferença da linguagem C quando variáveis globais são automaticamente disponíveis para funções sem sobreescrever uma eventual definição local. Isto causa problemas quando as pessoas mudam inadivertidamente uma variável global. No PHP, as variáveis globais precisam ser declaradas globais dentro de uma função se ela vai ser utilizada naquela função. A palavra chave globalPrimeiro, um exemplo de global: Exemplo 12-1. Usando global<?php$a = 1;$b = 2;function Soma(){ global $a, $b; $b = $a + $b;}Soma();echo $b;?> O script acima imprimirá "3". Declarando $a e $b globais na função, todas as referências a essas variáveis referem-se a versão global. Não há um limite para o número de variáveis globais que podem ser manipuladas por uma função. Uma segunda maneira de acessar variáveis do escopo global é utilizando o array especial $GLOBALS definido pelo PHP. O exemplo anterior poderia ser rescrito como: Exemplo 12-2. Usando $GLOBALS no lugar de global<?php$a = 1;$b = 2;function Soma(){ $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];}Soma();echo $b;?> O array $GLOBALS é 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. Veja que $GLOBALS existe em qualquer escopo, isto porque $GLOBALS é uma superglobal. Segue um exemplo demonstrando o poder das superglobais: Exemplo 12-3. Exemplo demonstrando superglobals e escopos<?phpfunction test_global(){ // A maioria das variaveis predefinidas não são 'super' e requerem // 'global' para serem disponiveis para funcoes em qualquer escopo. global $HTTP_POST_VARS; echo $HTTP_POST_VARS['name']; // Superglobais são disponiveis em qualquer escopo e // não precisam de 'global'. Superglobais existem // desde o PHP 4.1.0 echo $_POST['name'];}?> Espero ter esclarecido suas dúvidas! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thy Postado Junho 14, 2005 Autor Denunciar Share Postado Junho 14, 2005 hmm ajudou bastante! e oque seria aquele @ atras de uma variavel? global tambem não é?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LORD.OF.PHP Postado Junho 14, 2005 Denunciar Share Postado Junho 14, 2005 Normalmente o @ e colocado diante de requisições de funções para suprimir possíveis messagens de erros.<? function gravar(){ ... //escopo da função } @gravar(); //requisição da função?>Espero ter matado sua curiosidade Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Junho 15, 2005 Denunciar Share Postado Junho 15, 2005 sim!é que eu estava acostumado em usar amfphp(flash services prontos) e não tinhaconhecimento disso vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thy Postado Junho 15, 2005 Autor Denunciar Share Postado Junho 15, 2005 outra duvida o que acontece com as variaveis que estava em outra pagina requizitada?por exemplo eu entro em http:/host.dns/index.phpe nessa pagina tem um link para http:/host.dns/pagina2.phpao clicar abrir esse link, oque acontece com as variaveis q estava em http:/host.dns/index.php ?se eu defenir eles globais eles continuam em pagina2.php ?Ps.: desculpa a pressa da duvida de qualquer fomra atarde, quando chega eu testo.bye bye Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LORD.OF.PHP Postado Junho 15, 2005 Denunciar Share Postado Junho 15, 2005 Colega, lá vai!As formas que conheço para transportar variáveis e seus valores para outas páginas são:Metodo GET:Ao criar um link você determina no próprio as variáveis e seus valores que você deseja enviar para a pagina requisitada.Exemplo:http:/pagina2.php?var1=valor1&var2=valor2Seguinifica que estou enviando para a pagina (pagina2.php) as variaveis var1 e var2 com seus respectivos valores.Poderiamos dizer que isto é um link dinâmico.----------------------------------------------------------------------------------------------Método POSTÉ somente utilizado com formularios, onde o nome dos campos do formulários podem se transformar em nomes de variáveis quando submetidos para uma pagina PHP.----------------------------------------------------------------------------------------------Usando Include:Ou em último caso, criar uma página PHP com todas as váriaveis que serão usadas em suas páginas, ou com as que serão usadas por todas as páginas ou pela maioria em comum.Assim quando você nessecitar de alguma destas varíaveis basta você fazer um include da mesma na página desejada.---------------------------------------------------------------------------------------------- Dica: No seu caso parece que você gostaria que as variáveis presentes na página1.php fossem também encontradas na pagina2.php, se tambem for o caso de elas manterem o mesmo valor eu acho melho você usar um include. Mas esta é minha opnião. Espero ter contribuido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thy Postado Junho 15, 2005 Autor Denunciar Share Postado Junho 15, 2005 aham! agora sem mais duvidas por hj Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ffiction Postado Junho 15, 2005 Denunciar Share Postado Junho 15, 2005 OBS: pode usar as SESSION também.. =] mas dando session_start em ada começo de pagina.. =] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thy
alguém poderia me esclarecer:
1. qual a diferencia entre uma variavel global e uma não( e ond uso corretamente)
2. como funciona a session?
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.