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
php教程 插件机制在PHP中实现方案
Nov 02 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
Linux下PHP加速器APC的安装与配置笔记
Oct 24 PHP
CI分页类首页、尾页不显示的解决方法
Mar 28 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
php进行md5加密简单实例方法
Sep 19 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
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
js获取数组的最后一个元素
2015/04/14 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
用python 制作图片转pdf工具
2015/01/30 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python3实现绘制二维点图
2019/12/04 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
数控技术与应用毕业生自荐信
2013/09/24 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
行政前台岗位职责
2015/04/16 职场文书
心灵捕手观后感
2015/06/02 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS