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 相关文章推荐
PHP学习散记_编码(json_encode 中文不显示)
Nov 10 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
php calender(日历)二个版本代码示例(解决2038问题)
Dec 24 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
php工具型代码之印章抠图
Jul 18 PHP
YII框架http缓存操作示例
Apr 29 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
Feb 10 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
js 加载并解析XML字符串的代码
2009/12/13 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
微信小程序(订阅消息)功能
2019/10/25 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
python爬取51job中hr的邮箱
2016/05/14 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
python版DDOS攻击脚本
2019/06/12 Python
python实现广度优先搜索过程解析
2019/10/19 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
Python类的动态绑定实现原理
2020/03/21 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
党的群众路线学习材料
2014/05/16 职场文书
个人综合鉴定材料
2014/05/23 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
交通处罚决定书
2015/06/24 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
用Python提取PDF表格的方法
2021/04/11 Python
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python