PHP实现的用户注册表单验证功能简单示例

时间:2022-07-27
本文章向大家介绍PHP实现的用户注册表单验证功能简单示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文实例讲述了PHP实现的用户注册表单验证功能。分享给大家供大家参考,具体如下:

注册界面

register.html

  <h1 用户注册</h1 
  <form method="post" action="register_verify.php" 
    <input type="text" placeholder="用户名" name="username" <br <br 
    <input type="password" placeholder="密码" name="password" <br <br 
    <input type="password" placeholder="重复密码" name="password2" <br <br 
    <label 性别:
      <input type="radio" name="sex" value="男" checked="checked" 男
      <input type="radio" name="sex" value="女" 女</label <br <br 
    <input type="email" placeholder="邮箱" name="email" <br <br 
    <button class="btn" type="submit" 注册</button 
  </form 

register_verify.php

<?php
require "mysql.php";      //导入mysql.php访问数据库
$username=$_POST['username'];
$password=$_POST['password'];
$password2=$_POST['password2'];
$sex=$_POST['sex'];
$email=$_POST['email'];
if(checkEmpty($username,$password,$password2,$sex,$email)){
  if(checkpwd($password,$password2)){
    if(checkEmail($email)){
      if(insert($username,$password,$sex,$email))
        echo"注册成功";
    }
  }
}
//方法:判断是否为空
function checkEmpty($username,$password,$password2,$sex,$email){
  if($username==null||$password==null||$password2==null){
    echo '<html <head <Script Language="JavaScript" alert("用户名或密码为空");</Script </head </html '       . "<meta http-equiv="refresh" content="0;url=register.html" ";
  }
  else{
    if($sex==null){
      echo '<html <head <Script Language="JavaScript" alert("性别为空");</Script </head </html ' .          "<meta http-equiv="refresh" content="0;url=register.html" ";
    }
    elseif($email==null){
      echo '<html <head <Script Language="JavaScript" alert("邮箱为空");</Script </head </html ' .          "<meta http-equiv="refresh" content="0;url=register.html" ";
    }
    else{
      return true;
    }
  }
}
//方法:检查两次密码是否相同
function checkpwd($password,$password2){
  if($password==$password2)
    return true;
  else
    echo '<html <head <Script Language="JavaScript" alert("两次密码不一致");</Script </head </html ' .        "<meta http-equiv="refresh" content="0;url=register.html" ";
}
//方法:邮箱格式验证
function checkEmail($email){
  $preg = '/^(w{1,25})@(w{1,16})(.(w{1,4})){1,3}$/';
  if(preg_match($preg, $email)){
    return true;
  }else{
    echo '<html <head <Script Language="JavaScript" alert("邮箱格式有误");</Script </head </html ' .        "<meta http-equiv="refresh" content="0;url=register.html" ";
  }
}
//方法:将数据插入数据库中
function insert($username,$password,$sex,$email){
  $conn=new Mysql();
  $sql="insert into user VALUE (null,'$username','$password','$sex','$email')";
  $result=$conn- sql($sql);
  if($result){
    return true;
  }
  else{
    echo '<html <head <Script Language="JavaScript" alert("写入数据库失败");</Script </head </html ' .        "<meta http-equiv="refresh" content="0;url=register.html" ";
  }
  $conn- close();
}

验证码和数据库的实现方法前面写过,这里不再赘述。

可参考前面两篇文章:

PHP封装mysqli基于面向对象的mysql数据库操作类

PHP通过GD库实现验证码功能

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具: http://tools.zalou.cn/regex/javascript

正则表达式在线生成工具: http://tools.zalou.cn/regex/create_reg