Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

m_luism

Problema nao recebe variaveis por $_GET e $_POST

Recommended Posts

Ola a todos

Tenho o seguinte problema.... apos trocar de servidor Host, surgiram varios problemas no meu website.

Alguns com a vossa ajuda resolvi e desde ja agradeço por tudo.

 

Mas tenho ainda o seguinte, qualquer variavel que passe por $_POST ou $_GET nao consigo receber....

 

As ultimas definições que pedi para alterar foram (pois nao tenho acesso, tenho de pedir ao dono do servidor):

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
register_globals ON
ja fiz um
print '<pre>'; print_r( $GLOBALS );

 

onde resultou

[_POST] => Array        (        )    [_GET] => Array        (        )

 

 

Alguém sabe o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que o problema segundo varias pesquisas poderá ser os "track_vars"
alguem sabe qual se é isso?

e qual o comando para activar?

 

 

 

Tenta com REQUEST

 

 

$nome = $_REQUEST['nome'];
echo $nome;

 

 

Obrigado pela rapida resposta... No entanto nao imprimiu nada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao posso! Ja foi pago pelo dono do website... nao ha volta a dar...
a unica solucao é mesmo tentar resolver este problema

alguem sabe como activar os track_vars?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola é um servidor mas nao é no Brasil! é de outro pais...

 

Ja pedi para proceder as alterações...

e ja esta tudo a funcionar

 

Apenas tenho a grande duvida que acho que nao tem explicação.

Os $_GET e $_POST passaram a estar funcionais.

 

Mas só consegui por a funcionar apos usar o seguinte codigo:

print '<pre>'; print_r( $GLOBALS );

 

e depois retirar!

 

Por incrivel que pareça, a partir dai o site passou a funcionar correcto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao posso! Ja foi pago pelo dono do website... nao ha volta a dar...

a unica solucao é mesmo tentar resolver este problema

alguem sabe como activar os track_vars?

 

De acordo com o manual, track_vars está habilitado por padrão desde o PHP 4.0.3. Muitas configurações podem ser alteradas mediante o uso de ini_set() ou via htaccess e para saber através de qual meio isso deve ou pode ser feito checamos a coluna Changeable da Lista de Diretivas de Inicialização

 

Porém, há um fato que eu nunca via antes que justamente (e unicamente) essa diretiva não descreve com exatidão como esa alteração pode ser feita pois o seu valor na respectiva coluna tem duas interrogações.

 

Nesse caso, só contatando o host pois pode ser possível apenas diretamente pelo PHP.INI.

.

Desligue a register_globals. É uma falha de segurança.

 

Destaquei isso só para que não seja deixado de lado. ^_^

 

Continuando...

 

Na mesma página do manual sobre as diretivas, mais abaixo temos uma que também afeta $_POST: enable_post_data_reading que, se desabilitada impede que tanto $_POST quanto $_FILES seja populado, portanto vale checar com o host se ela está habilitada.

 

Ainda nessa página temos na descrição de post_max_size que, caso este valor seja inferior ao tamanho (???) das informações enviadas via HTTP POST, $_POST também virá vazio, logo, verifique se esse valor não está muito abaixo do normal.

 

E, como sempre dizemos, durante o desenvolvimento, inicie o script com:

 

 

ini_set( 'display_errors', TRUE );
 
error_reporting( E_ALL ); PHP > 5 mas diferente de 5.3.X
 
error_reporting( E_ALL | E_STRICT ); // Exclusivamente PHP 5.3.x

 

Assim se houver algum problema no código que possa estar influenciando esse comportamento, saberemos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola obrigado pela excelente dica!

Ja vou tratar de desligar o register_globals

 

Agora o problema está que eu uso tradução do site Portugues PT / Ingles EN

 

Resumindo na base dados tenho campos

id, textoPt, textoEn

 

e no php apresento algo do genero para apresentar os textos apos pesquisa na base dados

$row['texto'.$lang['lang']] 

Apos clicar no EN para traduzir

ele acrescenta ao URL algo deste genero:

http://www.meusite.pt/?page=home〈=En

 

E com acesso ao ficheiro onde controlo $Sessions, ele traduz direito. E tudo funciona bem no meu servidor testes, mas quando passo para o do cliente e aquilo não da!

Tenho de andar constantemente a clicar no EN para estar a traduzir pagina a pagina (devia sempre que trocava de pagina ele mantinha no URL 〈=En)

 

 

Este problema penso que também se deve com o servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes, o problema inicial foi resolvido? Os superglobais estão recebendo os valores?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estao,
Ja agora usei o codigo

 

ini_set( 'display_errors', TRUE );
 
error_reporting( E_ALL );
 

e ja corrigi uns warnings... o problema mantem-se

 

 

 

 

Tenho acesso ao cpanel onde indica apenas isto:

Descobri a pouco que Php é versao 5.3 e é possivel editar para um mais recente (embora tivesse usado error_reporting( E_ALL ); e funcionou)

allow_url_fopen	On
display_errors	On
error_reporting	E_ALL & -E_NOTICE
file_uploads	On
include_path	.;/path/to/php/pear
log_errors	Off
magic_quotes_gpc	Off
mail.force_extra_parameters	no value
max_execution_time	30
max_input_time	60
memory_limit	128M
open_basedir	no value
post_max_size	8M
register_globals	On
safe_mode	Off
safe_mode_exec_dir	no value
safe_mode_include_dir	no value
session.save_path	/tmp
short_open_tag	On
upload_max_filesize	2M

 

 

Vou so alterar o regist_globals.

Fora isso, o que acham?

 

obrigado a todos



Quanto aos problema já se encontram resolvidos.

Este ultimo era pelo facto das register_globals, que nao permitiam o funcionamento correcto

coloquei a OFF e ficou tudo 100%

 

obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em produção não é legal ter os erros habilitados.

 

Em desenvolvimento eles devem ser habilitados e todos corrigidos, até os notices (notice é erro da mesma forma).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.