Comprovar se os dados recebidos são corretos
Antes de inserir os dados recebidos pelo formulário na aplicação Livro de Visitas, devemos comprovar que a informação é correta, ou seja, que os dados recebidos são válidos.Por Miguel Angel Alvarez - Tradução de JML
Publicado em: 10/5/05
A outra parte do script do
livro de visitas em PHP que nos falta comentar contém a codificação das ações a fazer no caso de que se recebem dados do formulário. Tais ações são basicamente comprovar se os dados são corretos e, se assim for, inserir a informação na base de dados.
As comprovações servem para assegurarmos que a informação introduzida vai ser sempre válida, para que as assinaturas se mostrem perfeitamente. Determinadas informações poderiam dar lugar a erros ao introduzir a informação na base de dados ou na hora de mostrar as assinaturas na página.
Eliminar as etiquetas HTML ou PHP
É muito importante apagar toda etiqueta HTML ou PHP do texto dos campos introduzidos pelo visitante. Se um visitante colocasse este comentário:
Olá <b>Amigos</b>
Teria como resultado que, ao visualizar sua assinatura, se mostrasse a palavra "Amigos" em negrito. Isto não seria um problema, mas se se pode incluir uma etiqueta assim, também poderiam colocar links, imagens ou determinados elementos que pudessem deslocar a página, mudar nossos estilos habituais ou incluir scripts que pudessem molestar a outros visitantes ou aos administradores do web site.
//eliminamos as etiquetas HTML e PHP das cadeias de texto
$nome = strip_tags($_POST["nombre"]);
$email = strip_tags($_POST["email"]);
$comentario = strip_tags($_POST["comentario"]);
Cortamos as cadeias muito longas
Para não tentar introduzir textos na base de dados que na verdade não cabem, recorto os textos até seu tamanho máximo.
//Cortamos as cadeias muito longas
$nome=substr($nome,0,150);
$email=substr($email,0,80);
Comprovamos que o visitante preencheu algo
Também devemos comprovar que todos os campos introduzidos não estão vazios, porque nesse caso queria dizer que o usuário está tratando de assinar com nenhum dado sobre seu nome ou comentários do web e não desejamos que isto ocorra.
<?
if (strlen($nome)==0 and strlen($email)==0 and strlen($comentario)==0)
{
?>
<div align="center"><b>Obrigado pelo envio</b>.<br><br>Agradecemos porém, se não for muito esforço, que preenchesse algum dos campos para deixar constância de sua visita.</div>
<?
}
?>
Se não havia preenchido nada mostramos uma mensagem avisando-o. Caso contrário, ou seja, se tudo está correto, insiro na base de dados a informação.
Comentários do artigo