m_luism 1 Denunciar post Postado Junho 11, 2013 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
Bru_ce 53 Denunciar post Postado Junho 11, 2013 Tenta com REQUEST $nome = $_REQUEST['nome']; echo $nome; Compartilhar este post Link para o post Compartilhar em outros sites
m_luism 1 Denunciar post Postado Junho 11, 2013 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
Bru_ce 53 Denunciar post Postado Junho 11, 2013 Troca para a UOLHOST cara. Compartilhar este post Link para o post Compartilhar em outros sites
m_luism 1 Denunciar post Postado Junho 11, 2013 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
Bru_ce 53 Denunciar post Postado Junho 11, 2013 Qual a hospedagem ?Entre em contato com o suporte deles e solicite a ativação. Compartilhar este post Link para o post Compartilhar em outros sites
m_luism 1 Denunciar post Postado Junho 12, 2013 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
Bru_ce 53 Denunciar post Postado Junho 12, 2013 Estranho, Bom o importante é que voltou. Boa Sorte! Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Junho 12, 2013 Desligue a register_globals. É uma falha de segurança. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 12, 2013 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
m_luism 1 Denunciar post Postado Junho 14, 2013 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
Bruno Augusto 417 Denunciar post Postado Junho 14, 2013 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
m_luism 1 Denunciar post Postado Junho 14, 2013 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
Enrico Pereira 299 Denunciar post Postado Junho 14, 2013 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