Em PHP, existem várias funções para lidar com a entrada de dados, especialmente quando trabalhamos com o terminal ou linha de comando. Vamos explorar as funções mais utilizadas para capturar dados do usuário, como readline
, fgets
, e trim
, além de exemplos voltados para entrada de dados via web com formulários.
readline
A função readline
é usada para ler uma linha de entrada do usuário na linha de comando. Ela permite que o usuário digite um texto, que é retornado como uma string. Veja um exemplo de uso:
$nome = readline("Digite seu nome: ");
echo "Olá, " . htmlspecialchars($nome) . "!";
Neste exemplo, o prompt "Digite seu nome: "
será exibido, e o PHP aguardará a entrada do usuário. Após o usuário digitar, a função readline
captura o nome e a função htmlspecialchars
é utilizada para evitar a injeção de código HTML ao exibir o nome na tela.
fgets
A função fgets
é usada para ler uma linha de um arquivo ou da entrada padrão. Essa função é muito útil quando você deseja ler dados de arquivos ou manipular a entrada de forma mais controlada.
echo "Digite sua cidade: ";
$cidade = fgets(STDIN);
echo "Você mora em " . htmlspecialchars(trim($cidade)) . ".";
No exemplo acima, fgets(STDIN)
lê a entrada do usuário diretamente da linha de comando. A função trim
é usada para remover espaços em branco indesejados antes e depois da entrada do usuário. A função htmlspecialchars
também é aplicada para evitar problemas de segurança ao exibir a cidade na tela.
trim
A função trim
remove espaços em branco e outros caracteres indesejados do início e do final de uma string. Ela é frequentemente usada junto com outras funções de entrada para garantir que os dados estejam corretamente formatados.
$email = readline("Digite seu e-mail: ");
$emailLimpo = trim($email);
if (filter_var($emailLimpo, FILTER_VALIDATE_EMAIL)) {
echo "E-mail válido: " . htmlspecialchars($emailLimpo);
} else {
echo "E-mail inválido!";
}
No exemplo acima, trim($email)
remove espaços extras antes ou depois do e-mail inserido. A função filter_var
valida o formato do e-mail, e htmlspecialchars
protege contra a injeção de código.
Entrada de Dados via Formulário Web (Método GET)
No PHP, é muito comum coletar dados via formulários. O método GET
é usado quando os dados são enviados pela URL. Veja um exemplo simples de como capturar dados de um formulário com o método GET:
<form action="processar.php" method="get">
<label for="nome">Nome:</label>
<input type="text" id="nome" name="nome">
<input type="submit" value="Enviar">
</form>
O formulário acima envia o nome inserido pelo usuário para o arquivo processar.php
via método GET. No arquivo processar.php
, você pode acessar o valor do campo "nome" assim:
<?php
$nome = $_GET['nome'];
echo "Olá, " . htmlspecialchars($nome) . "!";
?>
O código acima recebe o nome enviado via GET e o exibe na tela. A função htmlspecialchars
é utilizada para evitar injeção de código HTML.
Entrada de Dados via Formulário Web (Método POST)
O método POST é usado quando os dados não devem aparecer na URL, garantindo maior segurança. Veja um exemplo de um formulário usando POST:
<form action="processar.php" method="post">
<label for="email">E-mail:</label>
<input type="email" id="email" name="email">
<input type="submit" value="Enviar">
</form>
No arquivo processar.php
, você pode acessar o e-mail da seguinte maneira:
<?php
$email = $_POST['email'];
echo "E-mail enviado: " . htmlspecialchars($email);
?>
Usando o método POST, o e-mail será enviado de forma mais segura, e o PHP pode acessá-lo utilizando $_POST['email']
.
Considerações Finais
Além das entradas pela linha de comando com funções como readline
e fgets
, também podemos receber dados dos usuários na web por meio de formulários HTML usando os métodos GET
e POST
. É fundamental sempre validar e sanitizar os dados para evitar problemas de segurança, como a injeção de código.