我在 HTML 中有一个简单的文本框,它只需要整数,它们必须是 6 个字符。如果不满足这些条件,则应该向用户提供适当的消息,并且该值不应该是 $_POST'ed。
$idLength = strlen($_POST['customerid']);
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if(empty($_POST['customerid']))
{
$idErr = " *Enter ID";
}
else if(($idLength > 0) && ($idLength < 6))
{
{$idnErr = " ID must be exactly 6 Digits";}
if((!is_numeric($_POST['customerid'])))
{$idnumErr = " ID must only be numerical values";}
}
else if ((is_numeric($_POST['customerid']))&&($idLength = 6))
{
$id = $_POST['customerid'];
}
echo "$id";
因此,使用该代码,我检查输入框是否为空,如果是,则在框旁边显示“* Enter ID”。我检查该值是否大于 0 且小于 6(html 中的 maxlength = 6),如果是,则显示“ID 必须正好是 6 位”。我还检查字符是否为数字,如果不是,则显示“ID 只能是数值”。
如果用户输入了一个有效的 ID,那么只有这个 ID 才会存储在变量中。例如:- 123456。这一切似乎工作正常。
当我准确输入 6 个不打算使用的字符(例如 12345a 或 ABCDE3)时,就会出现我的问题。代码没有将它们存储到 $id 中,但它没有显示错误消息,我想知道我做错了什么。
如果用户输入不正确,我还想将用户的输入保存在文本框中。例如。如果用户在客户 ID 中输入“1234g”并单击提交,我希望它在页面刷新错误时出现在文本框中。