{"id":1582,"date":"2003-08-11T10:23:27","date_gmt":"2003-08-11T13:23:27","guid":{"rendered":""},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T03:00:00","slug":"","status":"publish","type":"post","link":"http:\/\/www.charles.pilger.com.br\/blog\/archives\/1582","title":{"rendered":"Passagem de valores no PHP com register_globals=off"},"content":{"rendered":"<p>Uma coisinha que eu sempre esque\u00e7o no <a href=\\\"http:\/\/www.php.net\/\\\">PHP<\/a> \u00e9 que a partir da vers\u00e3o 4.2 a vari\u00e1vel de configura\u00e7\u00e3o <i>register_globals<\/i> vem com o valor <i>OFF<\/i> por padr\u00e3o. Para entender no que isso implica leva em conta o seguinte exemplo:<\/p>\n<p>Vamos pegar por exemplo o endere\u00e7o http:\/\/servidor\/?t=oi. Antes, para tratar a vari\u00e1vel a bastava fazer um script assim:<br \/>\n<font color=red><br \/>\n&nbsp; &nbsp; &lt;?<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; echo $t;<br \/>\n&nbsp; &nbsp; ?&gt;<br \/>\n<\/font><br \/>\nCom a desativa\u00e7\u00e3o das vari\u00e1veis globais agora \u00e9 necess\u00e1rio especificar a origem. No exemplo acima o valor da vari\u00e1vel t \u00e9 passado usando o m\u00e9todo get, de forma que a gente usa o array _GET:<br \/>\n<font color=red><br \/>\n&nbsp; &nbsp; &lt;?<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; echo $_GET[\\&#8217;t\\&#8217;];<br \/>\n&nbsp; &nbsp; ?&gt;<br \/>\n<\/font><br \/>\nO problema que eu vejo nesse tipo de coisa \u00e9 que, durante a etapa de desenvolvimento, eu costumo usar o m\u00e9todo GET para ver se as vari\u00e1veis est\u00e3o sendo repassadas de forma correta e, depois do script estar funcionando como desejado, passo a usar o m\u00e9todo POST, para que os dados n\u00e3o fiquem registrados no arquivo de log do Apache. Assim, ter que ficar mudando de _GET para _POST \u00e9 chato pra burro. Uma solu\u00e7\u00e3o \u00e9 adotar algo assim:<br \/>\n<font color=red><br \/>\n&nbsp; &nbsp; &lt;?<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $t = $_GET[\\&#8217;t\\&#8217;].$_POST[\\&#8217;t\\&#8217;];<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; echo $t;<br \/>\n&nbsp; &nbsp; ?&gt;<br \/>\n<\/font><br \/>\nAfinal, usar o dois m\u00e9todos GET e POST ao mesmo tempo  \u00e9 algo meio improv\u00e1vel (h\u00e1 como, mas digamos que \u00e9 algo que n\u00e3o \u00e9 para ser feito em casa), de forma que sempre um dos valores ser\u00e1 nulo. Algo me diz que essa n\u00e3o \u00e9 a solu\u00e7\u00e3o mais elegante, e que deve ter algo melhor, mas por hora isso supre as minhas necessidades&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma coisinha que eu sempre esque\u00e7o no PHP \u00e9 que a partir da vers\u00e3o 4.2 a vari\u00e1vel de configura\u00e7\u00e3o register_globals vem com o valor OFF por padr\u00e3o. Para entender no que isso implica leva em conta o seguinte exemplo: Vamos pegar por exemplo o endere\u00e7o http:\/\/servidor\/?t=oi. Antes, para tratar a vari\u00e1vel a bastava fazer um [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/posts\/1582"}],"collection":[{"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1582"}],"version-history":[{"count":0,"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/posts\/1582\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1582"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.charles.pilger.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}