php表单的验证详解

2021-05-02 02:29

阅读:669

YPE HTML>

   "utf-8">

  form

  

    .error {color: #FF0000;}

  

// 定义变量并默认设置为空值

$nameErr = $emailErr = $genderErr = $websiteErr = "";

$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST")

{

  if (empty($_POST["name"]))

  {

    $nameErr = "名字是必需的";

  }

  else

  {

    $name = test_input($_POST["name"]);

    // 检测名字是否只包含字母跟空格

    if (!preg_match("/^[a-zA-Z ]*$/",$name))

    {

      $nameErr = "只允许字母和空格";

    }

  }

  if (empty($_POST["email"]))

  {

    $emailErr = "邮箱是必需的";

  }

  else

  {

    $email = test_input($_POST["email"]);

    // 检测邮箱是否合法

    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))

    {

      $emailErr = "非法邮箱格式";

    }

  }

  if (empty($_POST["website"]))

  {

    $website = "";

  }

  else

  {

    $website = test_input($_POST["website"]);

    // 检测 URL 地址是否合法

    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))

    {

      $websiteErr = "非法的 URL 的地址";

    }

  }

  if (empty($_POST["comment"]))

  {

    $comment = "";

  }

  else

  {

    $comment = test_input($_POST["comment"]);

  }

  if (empty($_POST["gender"]))

  {

    $genderErr = "性别是必需的";

  }

  else

  {

    $gender = test_input($_POST["gender"]);

  }

}

function test_input($data)

{

  $data = trim($data);

  $data = stripslashes($data);

  $data = htmlspecialchars($data);

  return $data;

}

?>

PHP 表单验证实例

class="error">* 必需字段。

"post" action="PHP_SELF"]);?>">

  名字: "text" name="name" value="">

  class="error">* echo $nameErr;?>

  

  E-mail: "text" name="email" value="">

  class="error">* echo $emailErr;?>

  

  网址: "text" name="website" value="">

  class="error">echo $websiteErr;?>

  

  备注:

  

  性别:

  "radio" name="gender" if (isset($gender) && $gender=="female") echo "checked";?>  value="female">女

  "radio" name="gender" if (isset($gender) && $gender=="male") echo "checked";?>  value="male">男

  class="error">* echo $genderErr;?>

  

  "submit" name="submit" value="Submit">

echo "

您输入的内容是:

";

echo $name;

echo "
"
;

echo $email;

echo "
"
;

echo $website;

echo "
"
;

echo $comment;

echo "
"
;

echo $gender;

?>


评论


亲,登录后才可以留言!