我想检查我所有的注册域是否在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!!";
}
}
如果我理解正确,您希望能够在提交时验证注册表单的所有字段,对吗?
网上有各种在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