Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
bom dia, tenho vários sistemas em php4 que rodam perfeitamente em localhost, porém agora quero utilizar o php5 (xampp) e terei que atualizar todas as variáveis com sistema (e são muitas) para:
$nome = $REQUEST['nome'];
onde antes não era necessário fazer essa declaração, queria saber se tem algo que posso fazer para anular essa obrigação de declaração de variáveis até eu conseguir trocar todos os arquivos, pois sei eu não trocar 1 variável corro o risco do sistema não funcionar direito.
então se eu passar a variável register_globals=off do php.ini para register_globals=on o meu código php4 irá funcionar normalmente no php5, assim posso testar o sistema até corrigir todas as variáveis ($_GET/$_POST/$_COOKIE), é isso?
Não é bem assim. Você pode ativá-la mas há efeitos colaterais. Leia isto: http://php.net/manual/pt_BR/security.globals.php
Se o PHP for 5.3 ou posterior, register_globals não terá efeito.
E ativar register_globals é pode ser uma grande brecha de segurança. Use-a por sua conta e risco.
o uso será somente localhost (intranet), porém há alguma maneira de listar todas as variáveis que um arquivo utiliza? ou todas as variáveis que são enviadas ou recebidas por algum arquivo php?
Mas acho que, se você não tem a intenção de atualizar seus scripts, não há por que atualizar para o PHP 5. Use a versão estável do PHP 4 mesmo.
ok, obrigado a todos.
Isto se deve a register_globals:
http://php.net/manual/pt_BR/security.globals.php
Veja que usar $_REQUEST também pode não ser a melhor alternativa se não for realmente necessário, já que ele mistura $_GET/$_POST/$_COOKIE