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正则
Jul 07 PHP
用缓存实现静态页面的测试
Dec 06 PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 PHP
php中inlcude()性能对比详解
Sep 16 PHP
有关PHP性能优化的介绍
Jun 20 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
Feb 26 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 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
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
php实现两个数组相加的方法
2015/02/17 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
2020/05/29 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python正则表达式匹配HTML页面编码
2015/04/08 Python
pandas数值计算与排序方法
2018/04/12 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
一份比较全的PHP面试题
2016/07/29 面试题
如何用SQL语句进行模糊查找
2015/09/25 面试题
Ejb技术面试题
2015/04/29 面试题
函授自我鉴定
2013/11/06 职场文书
高中毕业生个人自我鉴定
2013/11/24 职场文书
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
超市采购员岗位职责
2014/02/01 职场文书
老公保证书
2015/01/17 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android