Entradas em PHP

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.