English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

GET e POST do PHP

Neste tutorial, você aprenderá como enviar informações para o servidor usando os métodos HTTP GET e POST, bem como como recuperar informações usando PHP.

Métodos para enviar informações para o servidor

Os navegadores da web usam dois métodos HTTP (HyperText Transfer Protocol) - GET e POST - para se comunicar com o servidor. Ambos os métodos passam informações de maneiras diferentes e têm suas próprias vantagens e desvantagens, conforme descrito a seguir.

Método GET

Os dados são enviados como parâmetros da URL no método GET, geralmente por meio de uma string de nome e valor separada pelo símbolo &. URLs com dados GET geralmente têm o seguinte formato:

http://www.example.com/action.php?name=john&age=24

A parte em negrito na URL é o parâmetro GET, enquanto a parte em itálico é o valor desses parâmetros. Parâmetros múltiplos podem ser inseridos na URL através da combinação de parâmetros=valor com o símbolo de &. Apenas dados de texto simples podem ser enviados através do método GET.

Vantagens e desvantagens do método GET

  • Como os dados enviados pelo método GET são exibidos na URL, é possível adicionar favoritos à página usando valores específicos de consulta de string.

  • O método GET não é adequado para transmitir informações sensíveis, como nome de usuário e senha, pois essas informações são completamente visíveis na string de consulta da URL e podem ser armazenadas na memória do navegador do cliente como parte do acesso à página.

  • Como o método GET atribui dados ao ambiente do servidor, o comprimento da URL é limitado. Portanto, há um limite no total de dados a serem enviados.

O PHP oferece a variável global super $_GET para acessar todas as informações enviadas através da URL ou submetidas através de formulários HTML com method="GET".

<!DOCTYPE html>
<html>
<head>
    <title>Online Example PHP GET Method</title>
</head>
<?php
if(isset($_GET[\"name\"])){
    echo \/p>";
}
?>
<form method="get" action="<?php echo $_SERVER[\"PHP_SELF\"];?>">
    <label for="inputName">Nome:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Enviar">
</form>

Método POST

No método POST, os dados são enviados para o servidor em uma comunicação separada com o script de processamento. Os dados enviados pelo método POST não são visíveis na URL.

Vantagens e desvantagens do método POST

  • É mais seguro que GET, pois as informações de entrada do usuário nunca serão visíveis na string de consulta da URL ou nos logs do servidor.

  • Há maior restrição na quantidade de dados que podem ser transmitidos, e pode usar POST para enviar dados de texto e dados binários (envio de arquivos).

  • Como os dados enviados pelo método POST não são visíveis na URL, não é possível adicionar bookmarks para páginas com consultas específicas.

Como $_GET, o PHP oferece outra variável global superglobal $_POST para acessar todas as informações enviadas por método POST ou por HTML formulário com method="POST".

<!DOCTYPE html>
<html>
<head>
    <title>Exemplo Online PHP Método POST</title>
</head>
<?php
if(isset($_POST["name"])){
    echo "<p>Hi, " . $_POST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Nome:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Enviar">
</form>

Variável $ _REQUEST

O PHP oferece outra variável global superglobal $_REQUEST, que contém os valores das variáveis $_GET e $_POST, além dos valores da variável global superglobal $_COOKIE.

<!DOCTYPE html>
<html>
<head>
    <title>Exemplo Online PHP Variável $_REQUEST</title>
</head>
<?php
if(isset($_REQUEST["name"])){
    echo "<p>Hi, " . $_REQUEST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Nome:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Enviar">
</form>

Você aprenderá mais sobre PHP no capítulo avançado. cookieetratamento de formuláriosMais informações.

Atenção:Os variáveis globais superglobais $_GET, $_POST e $_REQUEST são integradas, sempre disponíveis em todos os escopos do script.