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
wordpress之wp-settings.php
Aug 17 PHP
php在线打包程序源码
Jul 27 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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
杏林同学录(四)
2006/10/09 PHP
php xml 入门学习资料
2011/01/01 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PHP session 会话处理函数
2016/06/06 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
jQuery参数列表集合
2011/04/06 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
用python对oracle进行简单性能测试
2020/12/05 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
补充协议书范本
2014/04/23 职场文书
《搭石》教学反思
2016/02/18 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis