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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php定时计划任务与fsockopen持续进程实例
May 23 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
33道php常见面试题及答案
Jul 06 PHP
详解php设置session(过期、失效、有效期)
Nov 12 PHP
yii数据库的查询方法
Dec 28 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
php对微信支付回调处理的方法
Aug 23 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 PHP
PHP数组与字符串互相转换实例
May 05 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
linux下编译安装memcached服务
2014/08/03 PHP
php显示时间常用方法小结
2015/06/05 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
Prototype Number对象 学习
2009/07/19 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
Python中optparse模块使用浅析
2015/01/01 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python自动生成model文件过程详解
2019/11/02 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
python psutil监控进程实例
2019/12/17 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
python程序如何进行保存
2020/07/03 Python
详解Anaconda 的安装教程
2020/09/23 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
大学毕业生自荐书怎么写?
2014/01/06 职场文书
公司培训欢迎词
2014/01/10 职场文书
委托公证书样本
2015/01/23 职场文书
仙境之桥观后感
2015/06/16 职场文书
Vue图片裁剪组件实例代码
2021/07/02 Vue.js