2016-07-29 48 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