我如何在php中使用验证我的注册表单

时间:2016-07-29 06:58:34

标签: php mysqli

我想检查所有我的注册fiels在php中验证,但似乎除了电子邮件验证之外没有其他验证。请看一下,这样可以帮助我纠正错误。 谢谢。

这是我的注册过程......

if($_POST['action']=="signup")
     {
    $name  = mysqli_real_escape_string($connection,$_POST['name']);
    $email = mysqli_real_escape_string($connection,$_POST['email']);
    $bankid = mysqli_real_escape_string($connection,$_POST['bankid']);
    $phone  = mysqli_real_escape_string($connection,$_POST['phone']);
    $password  = mysqli_real_escape_string($connection,$_POST['password']);
    $query = "SELECT email FROM users where email='".$email."'";
    $result = mysqli_query($connection,$query);
    $numResults = mysqli_num_rows($result);

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) // Validate email address
        {
     $message =  "E - post Redan also!!";
        }
    elseif($numResults>=1)
        {
     $message = $email." E-post redan finns!!";
        }
        else
        {
                                                mysqli_query($connection,"insert into users(name,email,bankid,phone,password) values('".$name."','".$email."','".$bankid."','".$phone."','".md5($password)."')");
         $message = "Registrera framgångsrikt!!";
        }
      }

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望能够在提交时验证注册表单的所有字段,是否正确?

various examples在线使用PHP filter_var - 谷歌搜索将为您提供答案。

我建议使用一个验证库,它可以帮助您确保代码的安全性。这种库的一个例子是:https://github.com/Wixel/GUMP

如果你看一下GUMP的源代码,还有更多使用filter_var的例子:

https://github.com/Wixel/GUMP/blob/master/gump.class.php#L878

filter_var($value, FILTER_SANITIZE_NUMBER_INT)
filter_var($value, FILTER_SANITIZE_SPECIAL_CHARS);
// etc