lorena85 1 Denunciar post Postado Junho 29, 2012 Ola galerinha sei que eu vou falar e uma coisa meio que besta mas queria saber qual diferença entre esses métodos $_GET, $_POST, $_REQUEST *se existe o $_REQUEST que faz o trabalho do get e do post juntos, para que existe então get e post? *usando o $_REQUEST será um pouco mais lento?? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 30, 2012 Eu sempre me fiz a mesma pergunta. Não tem muita lógica de ela existir, já que você pode usar $_GET, $_POST e $_COOKIE. Só vejo utilidade disso em casos onde você atende por requisições GET e POST. Apesar de você poder resolver com um simples if, você pode evitar esse if e usar $_REQUEST Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Ávila 0 Denunciar post Postado Junho 30, 2012 Ola galerinha sei que eu vou falar e uma coisa meio que besta mas queria saber qual diferença entre esses métodos $_GET, $_POST, $_REQUEST *se existe o $_REQUEST que faz o trabalho do get e do post juntos, para que existe então get e post? *usando o $_REQUEST será um pouco mais lento?? Fala Lorena, tudo bem? Bom eu não sou expert no assunto, posso estar falando bobagem, mas o que eu vivi eu posso compartilhar. Realmente o $_REQUEST faz o papel de todos, mas não recomendo a sua utilização. Imagine só você está em uma big api php e precisa encontrar um valor de um POST, você vai usar $_REQUEST? Eu não, pois a busca seria muito maior, pois $_REQUEST seleciona todos os POSTS, GETS e COOKIES. Por questão da "minha lógica" e de organização eu prefiro utilizar o método em si, não o REQUEST. Com o método POST as informações enviadas são "invisíveis" e com o GET elas são enviadas via URL. Os COOKIES tem uma ótima utilização, principalmente quando você precisa armazenar dados para a utilização em domínios diferentes (enviar um dado de seusite.com.br para mail.seusite.com.br, por exemplo), como já ocorreu comigo de uma vez só o GET e o COOKIE funcionarem pra mim. Bom, não sei se ajudou, mas está ai o que eu sei. Claro que pessoas aqui podem dar respostas mto melhores! Sucesso Compartilhar este post Link para o post Compartilhar em outros sites
Jonatã Cioni 9 Denunciar post Postado Junho 30, 2012 somente use o request quando você não tiver outra opção ou quando se você precisar usar os dois, você precisará duplicar muito código... pois ele eh realmente mais lento... fora isso... use sempre $_POST e $_GET... além de ser menos seguro tb... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 30, 2012 Na verdade $_REQUEST também pega os dados de $_COOKIE. Eu sempre fui meio preconceituoso com esse superglobal. Mas é até que justificável. Até onde me consta, é impossível de se ter uma requisição, por exemplo, POST e GET ao mesmo tempo. Podem até apontarem para um mesmo URI, cada qual atuando para um ação, mas sempre em requisições separadas. Sendo assim, Se é POST, usemos $_POST. Se é GET, usemos $_GET. Precisamos de algum cookie? $_COOKIES Teoricamente, a queda de performance poderia se dar em termos de milésimos de segundos quando houvessem MUITOS dados armazenados. Mas muitos mesmo, pra lá de 10 mil (ou mais). :o Como é meio improvável uma aplicação ter tantas informações dos três tipos suportados pelo superglobal em questão ao mesmo tempo, não existem estudos conhecidos a respeito, então ficamos apenas com o problema de usá-lo: Imagina uma situação na qual você coincidentemente tem uma variável de nome X que DEVE transitar exclusivamente via GET e outra, também chamada X, exclusivamente por POST. Usando $_GET e $_POST, você pode perfeitamente utilizar os nomes idênticos. Mesmo que não pareça muito certo, às vezes, por harmonia léxica (sou tarado por isso com programo :P) é justificável. Mas se você codificar seu script inteiramente com $_REQUEST, um sobrescreverá o outro e pela sutileza do procedimento, o debug seria complicado. Veja um exemplo bem porco que fiz correndo ilustrando isso: var_dump( $_REQUEST, $_POST, $_GET ); echo '<form method="post">'; echo '<input type="hidden" name="nome" value="Bruno" />'; echo '<input type="submit" value="Vai" />'; echo '</form>'; Ao acessar a página pela primeira vez haverão três arrays vazios, afinal não existe informação ainda. Colocando um parâmetro GET nome na URL (Bruno Augusto, para ilustrar), você verá Bruno Augusto saindo de $_REQUEST e outro (terceiro) de $_GET. O segundo, referente à $_POST, continuará vazio. Submeta o formulário. Será mostrado Bruno duas vezes e Bruno Augusto uma. Isso porque o $_REQUEST mescla tudo e, graças à ordem das variáveis, o Bruno oculto vindo de $_POST sobrescreverá o Bruno Augusto vindo de $_GET, porque nos arrays superglobais, possuem o mesmo índice. Compartilhar este post Link para o post Compartilhar em outros sites