Quando você instala o Apache e o PHP na unha, muitas vezes não dá certo
a passagem dos valores de um campo de um formulário HTML para uma página
PHP. Quando você tenta "ecoar" o valor da variável na tela, não sai nada e
você não sabe mais o que fazer.
A razão de tudo isso pode ser uma simples configuração de passagem de
variáveis globais do PHP. Para testar se é só isso, crie um script de
teste da seguinte maneira:
<?
phpinfo();
?>
Salve o arquivo na pasta do Apache (no caso do meu é em /var/www/htdocs).
Abra essa página usando o navegador de sua preferência através da URL:
http://localhost/teste.php
Procure nesse arquivo um subtópico chamado register_globals e
verifique se está 'On'. Caso não esteja faça o seguinte:
Copie o arquivo php.ini-dist (esse arquivo está na pasta do PHP
que foi criada depois que você descompactou o binário) com o seguinte comando:
# cp php.ini-dist /usr/local/lib/php.ini
Agora faça as modificações necessárias no arquivo que você copiou. Digite:
# mcedit /usr/local/lib/php.ini
Procure dentro desse arquivo a seguinte expressão:
register_globals=Off
Haverá mais de um lugar onde existirá essa expressão. Mude todos os lugares
onde estiverem 'On' para 'Off', deixando da seguinte maneira:
register_globals=On
Salve o arquivo e reinicie o Apache. Agora abra novamente a página PHP que
criamos e procure novamente a expressão register_globals e você verá que
está On. :)
Pronto, seus programas deverão funcionar normalmente agora!
[1] Comentário enviado por aleacastro em 08/06/2004 - 14:53h
No próprio site php.net eles falam que o ideal é deixar off pelo simples motivo de segurança, se você deixa "on" todas as váriaveis passadas pelo formulário viram variáveis no php podendo ocasionar vários problemas de segurança, o ideal é usar $_GET['variavel'] para get, $_POST['variavel'] para post e $_REQUEST['variavel'] para os dois casos. Qualquer dúvida www.php.net
[3] Comentário enviado por leosg em 06/08/2004 - 09:34h
ai galera,
no meu caso ta tudo com on,
so que mesmo assim minhas variavies nao funcionam.
e eu nao estava usando o $_POST[] e $_GET[]
e meu sistema e muito grade,,, para fazer todas essas alteracoes..
o que posso fazer para resolver isso..