2016-07-29 50 views
2

我想检查我的所有注册fiels是验证在PHP但似乎没有采取其他的验证除了电子邮件验证。请看看,这样可以帮助我修正错误。 谢谢。如何使用验证我的申请表单,在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!!"; 
     } 
     } 
+0

不知道为什么你已经做到了这条路线'if($ _ POST ['action'] ==“signup”)'我会做完:'if(isset($ _ POST ['signup']))'你是否得到任何MySQLI错误? – Option

+0

@Option是的,它甚至不验证电子邮件......这也会导致错误。 –

回答

0

如果我理解正确的话,你希望能够以验证您的申请表格上提交的,正确的所有字段?

various examples在线在PHP中使用filter_var的 - 一点谷歌搜索会得到你的答案。

我会建议使用的建成,以帮助您确保您的代码是安全的验证库。这样的库的一个例子是:https://github.com/Wixel/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