我是个菜鸟,最近在学习php过滤器这一章,想在同一个页面中,输入email地址之后,点击提交,能够验证是否已经输入并且输入是否合法,代码如下,请高手指点。这个代码还实现不了这个功能:<html>
<body>
<title>email-test</title>
//<form action="emailtest('email')" method="get">
Email-addr:<input type='text' name='email1' id='email' /><input type="submit" name="submit" onclick="emailtest('email')" /><br />
<?php
function emailtest($email)
{
if(filter_has_var(INPUT_GET, "email"))
{
echo("Input type does not exist");
}
else
{
if (filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
{
echo "E-Mail is not valid";
}
else
{
echo "E-Mail is valid";
}
}
}
?></body>
</html>
<body>
<title>email-test</title>
//<form action="emailtest('email')" method="get">
Email-addr:<input type='text' name='email1' id='email' /><input type="submit" name="submit" onclick="emailtest('email')" /><br />
<?php
function emailtest($email)
{
if(filter_has_var(INPUT_GET, "email"))
{
echo("Input type does not exist");
}
else
{
if (filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
{
echo "E-Mail is not valid";
}
else
{
echo "E-Mail is valid";
}
}
}
?></body>
</html>
if (filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
{
echo "E-Mail is not valid";
}
这句如果变量合法,返回的却是not valid
return preg_replace("/^[a-zA-Z0-9]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/", $email);
}if(!validateEmail($_POST['email'])){
echo "<strong>Invalid E-mail:</strong> Type a valid e-mail please .";
}
希望可以帮到你
呵呵,果然是牛人...的确,后台不做判断,过一段时间就发现有很多奇怪的记录...eval神马的...