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


Posted in PHP onFebruary 25, 2019

本文实例讲述了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 相关文章推荐
类的另类用法--数据的封装
Oct 09 PHP
人大复印资料处理程序_补充篇
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
PHP输入流php://input介绍
Sep 18 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
PHP 中魔术常量的实例详解
Oct 26 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 #PHP
Laravel核心解读之异常处理的实践过程
Feb 24 #PHP
PHP通过GD库实现验证码功能示例
Feb 23 #PHP
php中file_get_contents()函数用法实例
Feb 21 #PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 #PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 #PHP
PHP+jQuery实现即点即改功能示例
Feb 21 #PHP
You might like
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
php构造函数的继承方法
2015/02/09 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python模块之time模块(实例讲解)
2017/09/13 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
python实现图片彩色转化为素描
2019/01/15 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
邮政员工辞职信
2014/01/16 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
婚庆主持词大全
2015/06/30 职场文书
python 实现的截屏工具
2021/05/08 Python