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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
轻松修复Discuz!数据库
May 03 PHP
定义php常量的详解
Jun 09 PHP
php中autoload的用法总结
Nov 08 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
curl和libcurl的区别简介
Jul 01 PHP
php函数连续调用实例分析
Jul 30 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
Smarty3配置及入门语法
Feb 22 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 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
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
Vue实现手机计算器
2020/08/17 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
python批量修改文件后缀示例代码分享
2013/12/24 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python中url标签使用知识点总结
2020/01/16 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
python 爬虫请求模块requests详解
2020/12/04 Python
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
环保建议书300字
2014/05/14 职场文书
政协调研汇报材料
2014/08/15 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
个人向公司借款协议书
2014/10/09 职场文书
行政处罚事先告知书
2015/07/01 职场文书
交通安全主题班会
2015/08/12 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
一文搞懂php的垃圾回收机制
2021/06/18 PHP
Redis实现短信验证码登录的示例代码
2022/06/14 Redis