我是个菜鸟,最近在学习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>

解决方案 »

  1.   

    我的话很有深意?  filter_input()如果验证没通过,才会返回false 
    if (filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
      {
      echo "E-Mail is not valid";
      }
    这句如果变量合法,返回的却是not valid
      

  2.   

    function validateEmail($email){
    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 .";
    }
    希望可以帮到你
      

  3.   

    觉得还是使用javascript判断验证的比较好吧,用php不好。
      

  4.   


    呵呵,果然是牛人...的确,后台不做判断,过一段时间就发现有很多奇怪的记录...eval神马的...