Toscano 0 Denunciar post Postado Setembro 14, 2006 Eu ussava o php4 e pegava informacoes do meu formulario diretamente como variaveisexemplo: se tivese um campo com o nome - idade eu recuperava so colocando na minha pagina de retorno $idade;porem agora instalei o php5 e ele nao pega, alguem sabe como configurar para pegaR? Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Setembro 14, 2006 Não me lembro se é possível no php5, mas no php.ini existe uma diretiva, register_globals. Troca o valor dela.É recomendável manter seu valor em OFF, por questões de segurança, e portabilidade. Compartilhar este post Link para o post Compartilhar em outros sites
asanoli 0 Denunciar post Postado Setembro 14, 2006 Bom... Agora você vai pegar as variáveis assim: $idade=$_POST['idade']; (coloca isso logo no início do arquivo pra todas as variáveis que vêm de um formulário)Depois você usa igual como antes: "SELECT idade FROM tabela where idade='$idade'";É melhor deixar o register_globals OFF mesmo!Falou?! Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Setembro 14, 2006 Caso deseje criar dinamicamente todas as variáveis vindas por exemplo, de POST, isso resolve: foreach($_POST as $chave=>$valor) {$$chave = $valor;}Pra cada chave do array, será criada uma var com o nome da chave, e seu conteúdo.Eu particularmente prefiro chamar pelo array, e não criar novas variáveis com o mesmo valor. É só uma sugestão. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
ignorante 0 Denunciar post Postado Setembro 14, 2006 Isso é um problema mesmo... Pois register_globals é uma das maiores brechas de segurança do PHP (pelo menos é uma das mais utilizadas) e para resolver isso você vai ter q varrer seu código e incluir uma linha como a q o asanoli mostrou. Se estiver com muita preguiça ou se seu sistema for muito grande e crítico, vale a pena instalar outra instância do apache com PHP4 para rodar somente esse sistema, pois senão todos seus sistemas estarão comprometidos. Em termos de recursos não é muito econômico, mas o tempo q você vai gastar é bem menor. Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Setembro 14, 2006 , mas o tempo q você vai gastar é bem menor. foreach($_POST as $chave=>$valor){$$chave = $valor;} Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Setembro 14, 2006 mas o tempo q você vai gastar é bem menor. foreach($_POST as $chave=>$valor){$$chave = $valor;} Mas daí vai deixar a mesma brecha que o register_globals = on deixava.Sinceramente, eu não vejo pq tanto dor de cabeça pra uma coisa tão simples. Se você não declara uma variável não há razão pra uma variável existir, se ela vier de outra página você deveria declarar explicitamente que ela vem de outra página, coisas como essas são "boas práticas de programação"...Mas se você tiver milhares de variáveis vindo de um formulário, joga o nome de todas elas em um array, e usa o esquema que o marcio postou, mas fazendo uma verificação se tal var está dentro do array, ficaria mais seguro... ;) Compartilhar este post Link para o post Compartilhar em outros sites