php实现注册
<?php header("Content-Type:text/html;charset=gb2312"); @mysql_connect('localhost','root','ebaeba') or die("数据库服务器连接失败"); @mysql_select_db("test") or die("数据库不存在或不可用"); $uname = $_GET['userName']; //下面进行数据库查询 查找是不是有这一个用户 //如果没有查找到这个用户名 $sql="select * from t1 where name='".$uname."'"; $query=mysql_query($sql); $row=mysql_fetch_object($query); if(strlen($uname)<6||strlen($uname)>20) { $msg="用户名必须是6至20个字符."; } else{ if($row==false) { $msg="该用户名有效,可以使用!"; } else { $msg="对不起,此用户名已经存在,请更换用户名注册!"; } } echo $msg ; ?> |
<%@page language="java" contentType="text/html;charset=gb2312"%> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>AJAX用户注册演示程序</title> <script language="javascript" type="text/javascript"> <!-- //创建函数 function createXMLHTTP() { var request; var browser = navigator.appName; //使用IE,则使用XMLHttp对象 if(browser == "Microsoft Internet Explorer") { var arrVersions = ["Microsoft.XMLHttp", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp","MSXML2.XMLHttp.5.0"]; for (var i=0; i < arrVersions.length; i++) { try { //从中找到一个支持的版本并建立XMLHttp对象 request = new ActiveXObject(arrVersions[i]); return request; } catch (exception) { //忽略,继续 } } } else { //否则返回一个XMLHttpRequest对象 request = new XMLHttpRequest(); if(request.overrideMimeType) { request.overrideMimeType('text/xml'); } return request; } } //全局XMLHTTP对象实例变量 var http = createXMLHTTP(); //发送请求 function chkUser() { var url = "check.php"; //请求"CheckUserName" ServLet var name = document.getElementById("userName").value; url += ("?userName="+escape(name)+"&oprate=chkUser"); http.open("GET",url,true); http.onreadystatechange = ProcessHttpResponse; http.send(null); return ; } //处理响应 function ProcessHttpResponse() { if(http.readyState == 4) { if(http.status == 200) { var xmlDocument = http.responseXML; if(http.responseText!="该用户名有效,可以使用!") { //返回的信息动态显示 document.getElementById("showStr").style.display = ""; document.getElementById("userName").style.background= "#FF0000"; document.getElementById("showStr").innerText = http.responseText; } else { document.getElementById("userName").style.background= "#FFFFFF"; document.getElementById("showStr").style.display = ""; document.getElementById("showStr").innerText = http.responseText; } } else { alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!"); alert(http.status); } } } //检验输入密码 function chkpassword() { var m=document.form1; if(m.password.value.length>20 || m.password.value.length<6 ) { document.getElementById("passwordStr").style.display = ""; document.getElementById("password").style.background= "#FF0000"; document.getElementById("passwordStr").innerText = "对不起,密码必须为英文字母、数字或下划线,长度为6~20!"; } else { document.getElementById("password").style.background= "#FFFFFF"; document.getElementById("passwordStr").style.display = "none"; } } //验证两次密码是否一致 function chkconfirmPassword() { var m=document.form1; if (m.password.value != m.confirmPassword.value) { document.getElementById("confirmPasswordStr").style.display = ""; document.getElementById("confirmPassword").style.background= "#FF0000"; document.getElementById("confirmPasswordStr").innerText = "对不起,密码与重复密码不一致!"; } else { document.getElementById("confirmPassword").style.background= "#FFFFFF"; document.getElementById("confirmPasswordStr").style.display = "none"; } } //验证Email是否有效 function chkEmail() { var m=document.form1; var email = m.email.value; //正则表达式 var regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; var flag = regex.test(email); if(!flag) { document.getElementById("emailStr").style.display = ""; document.getElementById("email").style.background= "#FF0000"; document.getElementById("emailStr").innerText = "对不起,邮箱地址无效!"; } else { document.getElementById("email").style.background= "#FFFFFF"; document.getElementById("emailStr").style.display = "none"; } } //提交检查函数 function SubmitCheck() { var m=document.form1; if(m.userName.value.length==0) { alert("对不起,用户名必须为英文字母、数字或下划线,长度为5~20。"); m.userName.focus(); return false; } if(m.password.value.length==0) { alert("对不起,密码必须为英文字母、数字或下划线,长度为5~20。"); m.password.focus(); return false; } if (m.password.value != m.confirmPassword.value) { alert("对不起,密码与重复密码不一致!"); m.confirmPassword.focus(); return false; } if(m.email.value.length==0) { alert("对不起,邮箱地址不能为空!!"); m.email.focus(); return false; } m.submit(); } //--> </script> <body > <form name="form1" method="post" action="register.php"> <h3 align="center">Ajax用户注册程序</h3> <table align="center" width="500" border="1" > <tr> <td><font color="red">*</font></td> <td width="100">用户帐号:</td> <td><input type="text" name="userName" maxlength="20" style="background=#FFFFFF" onBlur="chkUser()"></td> <td><div id="showStr" style="background-color:#FF9900;display:none"></div></td> </tr> <tr> <td><font color="red">*</font></td> <td>用户密码:</td> <td align="left"><input type="password" name="password" maxlength="22" style="background=#FFFFFF" onBlur="chkpassword()"/> </td> <td><div id="passwordStr" style="background-color:#FF9900;display:none"></div></td> </tr> <tr> <td><font color="red">*</font></td> <td>确认密码:</td> <td><input type="password" name="confirmPassword" maxlength="20" style="background=#FFFFFF" onBlur="chkconfirmPassword()"/></td> <td><div id="confirmPasswordStr" style="background-color:#FF9900;display:none"></div></td> </tr> <tr> <td><font color="red">*</font></td> <td>Email:</td> <td><input type="text" name="email" maxlength="100" style="background=#FFFFFF" onBlur="chkEmail()"></td> <td><div id="emailStr" style="background-color:#FF9900;display:none"></div></td> </tr> </table> <div align="center"> <input type="button" name="ok" value=" 确定 " onClick="SubmitCheck()"> <input type="reset" name="reset" value=" 取消 "> </form> </div> </body> </html> |
php实现注册的更多相关文章
- 用php做注册审核
做注册审核就像前面讲的注册登录一样,也是要连接数据库 首先在数据库内要做这样一张表: 表名为users表 里面的列名分别为用户名,密码,姓名,性别,生日,账户的状态,照片 然后就可以写代码了,要注册的 ...
- C# 注册 Windows 热键
闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理
.NET Core中间件的注册和管道的构建(1)---- 注册和构建原理 0x00 问题的产生 管道是.NET Core中非常关键的一个概念,很多重要的组件都以中间件的形式存在,包括权限管理.会话管理 ...
- MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息
MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...
- web全栈开发之网站开发二(弹出式登录注册框前端实现-类腾讯)
这次给大家分享的是目前很多网站中流行的弹出式登录框,如下面的腾讯网登录界面,采用弹出式登录的好处是大大提升了网站的用户体验和交互性,用户不用重新跳转到指定的页面就能登录,非常方便 先来个演示地址 要实 ...
- HTML 事件(二) 事件的注册与注销
本篇主要介绍HTML元素事件的注册.注销的方式. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流.事件委托 4. ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...
随机推荐
- JS新手易错点
写给自己 字符串换行不能直接换行,需要在行尾加换行符"\" var a = "aa bb" 是不行的 需要改成 var a="aa\ bb"
- openoffice
cmdcd/cd C:\Program Files (x86)\OpenOffice 4\program soffice -headless -accept="socket,host=127 ...
- 【Visual Lisp】图元选择集专题
图元选择集专题;;★★★01.选择集操作★★★(setq ss (ssadd));;创建一个空选择集(ssadd (car(entsel)) ss);;将点取的图元添加到ss选择集中,可以不用setq ...
- Mini projects #6 ---- Blackjack
课程全名:An Introduction to Interactive Programming in Python,来自 Rice University 授课教授:Joe Warren, Scott ...
- 我的Sharepoint母版页的使用
在Sharepoint 2010母版页文件夹里面,有一个叫v4.master的母版页文件. 在它的基础上修改成想要的母版页.我们用最少的修改完成我们想要的效果. 我们有时是要这样的一个母版页,顶部Ri ...
- python 装饰器学习(decorator)
最近看到有个装饰器的例子,没看懂, #!/usr/bin/python class decorator(object): def __init__(self,f): print "initi ...
- toad的基本操作
1.把鼠标停在sql所在行,然后ctrl+Enter直接执行当前sql. 2.解决Toad对中文显示乱码问题(如果数据库所在主机的NLS_LANG是AMERICAN_AMERICA.WE8ISO885 ...
- C++类的内存分配
今天面试被问到一个类的内存问题,有些记不清楚了.用了 C++这么年,实在是不应该. 于是上网查了一些资料,并做了实验,整理如下: 所用测试环境为64位mac air,编译器为XCode 1.最简单 c ...
- Handler机制来处理子线程去更新UI线程控件
public class HandlerTestActivity extends Activity { private TextView tv; private static final int UP ...
- misc
1.对于给定的二维码图片不能直接扫描出来的可以进行反色在进行扫描,反色可以直接选中图片然后就会进行反色.2.局域网中抓取的数据包的加密方式可能是aes加密.3.凯撒加密可能是变种的凯撒加密,可能奇数偶 ...