PHP表格输入检查

时间:2018-08-04 19:13:14

标签: php

因此,我开始学习PHP,但遇到了问题。因此,文件“ store.php”将从登录页面收集数据,并且登录页面要求输入电子邮件和密码。 我正在尝试使正则表达式检查电子邮件是否有效,以及密码是否包含:至少1位数字,1个大写字母,1个小写字母,1个特殊字符,并且最小长度为8。直接获取到canvas.php,因为我在表单中执行“ actions =“ canvas.php””。有人可以帮我吗?

<?php
$email =  $password = "";
$emailERR = $psswrdERR = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = test_email($_POST["email"]);
$password = test_psswrd($_POST["password"]);
}

function test_psswrd($data) {
  if(!(preg_match('/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}/', $data))){ 
   $password = "Password is not valid";
   return $password;
}
  else{
    return $data;
  }

}

function test_email($data)
{
  $data = trim($data);
  if (filter_var($data, FILTER_VALIDATE_EMAIL)) 
  {
    return $data;
  } 
  else 
  {
    $emailERR = "Email is not valid";
    return $emailERR;
  }
}

1 个答案:

答案 0 :(得分:1)

如果您以表单的形式执行action = canvas.php,则此代码将永远不会运行,因为您永远不会在此页面上发布。如果要进行验证,请确保要发布到实际进行验证的文件中。

此外-如果电子邮件/密码无效,此代码应引发异常并返回正确的状态-好像您在test_password或test_email中没有做任何特别的事情。