我的注册表单中有一个name字段,其中包含一个字段,它将存储在数据库中的一个字段中user_name varchar(20).很明显,如果我使用以下代码验证此字段,我应验证用户输入:
<?php
if(emptiy($_pos['name']) || strlen($_post['name'])>20)
//send an not valid input error
else{
$name=htmlspcialchars($_post['name']);
//check for sql injection;
//insert name into database;}
?>
Run Code Online (Sandbox Code Playgroud)
如果用户插入一个名称,如<i> some one </i>字符串长度为17,那么else部分将performe和名称将是<i> some one </i>长度为28,这将导致插入到db.in这次,如果我向用户发送错误,他/他她的投入太长,他会感到困惑.我该怎么办?什么是最好的方法?