用PHP&JS实现的ID&密码校验程序
声明:本程序纯粹是本人在学习过程中突发奇想做的,并未考虑任何可行性,实用性,只是留下来供以后参考。
前端页面
sign.html
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>QQ注册&登录</title>
<link rel='stylesheet' type='text/css' href='./sign.css'>
<script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.js"></script>
<script src='./sign.js' type='text/javascript'> </script>
</head>
<body>
<div class='header'>QQ注册&登录</div>
<div class='container'>
<h3>注册</h3>
<form name='signup' action='./signup.php' onsubmit='return validateForm1()' method='post'>
QQ:<input type='text' name='uid' id='userid1'>
密码:<input type='password' name='upd' id='userpassword1'>
<input type='submit' onsubmit="" value='注册'>
</form>
<h3>登录</h3>
<form name='signin' action='./signin.php' onsubmit='return validateForm2();' method='post'>
QQ:<input type='text' name='uid' id='userid2'>
密码:<input type='password' name='upd' id='userpassword2'>
<input type='submit' onsubmit="" value='登录'>
</form>
</div>
</body>
</html>
CSS
sign.css
* {
margin: 0 0 0 0;
padding: 0 0 0 0;
}
body {
background:whitesmoke;
font-size: 1em;
}
.header {
height:3em;
font-size: 2.5em;
line-height: 3em;
color:gray;
border-bottom:solid black 1px;
text-align: center;
}
.container {
text-align: center;
}
JS
sign.js
function validateForm1(){
var id = this['userid1'].value;
var password = this['userpassword1'].value;
if ( !id.match(/^\d{5,10}$/) ) {
alert ('ID必须为5至10位数字');
return false;
}
if ( !password.match(/^[\d\w]{6,18}$/) ) {
alert ('密码必须为6至32位数字和(或)字母');
return false;
}
this['userpassword1'].value = md5(password);
}
function validateForm2(){
var id = this['userid2'].value;
var password = this['userpassword2'].value;
if ( !id.match(/^\d{5,10}$/) ) {
alert ('ID必须为5至10位数字');
return false;
}
if ( !password.match(/^[\d\w]{6,18}$/) ) {
alert ('密码必须为6至18位数字和(或)字母');
return false;
}
this['userpassword2'].value = md5(password);
}
服务器端脚本
signin.php
<?php
$uid = $_POST['uid'];
$upd = $_POST['upd']; $upd = md5($upd); $conn = mysqli_connect('localhost', 'myqq', 'myqq', 'qq');
if (!$conn)
{
die ("数据库连接失败" . mysqli_connect_error());
} $sql_select = <<<EOF
select id,password from user where id = '$uid'
EOF;
$result = $conn->query($sql_select);
if ( $result->num_rows == 1){
//echo '用户存在';
$dbupd = ($result->fetch_assoc())['password'];
if ( $dbupd == $upd ){
echo "登录成功";
}
else {
echo "密码错误";
//echo "<br>" . $upd . "<br>" . $dbupd;
} }
else {
echo "用户不存在";
}
?>
signup.php
<?php
$uid = $_POST['uid'];
$upd = $_POST['upd']; $upd = md5($upd);
//echo $upd . '<br>';
//echo $uid . $upd;
$conn = mysqli_connect( 'localhost', 'myqq', 'myqq', 'qq' );
if (!$conn){
die ("数据库连接失败" . mysqli_connect_error() );
} $sql_select = <<<EOF
select id,password from user where id = '$uid'
EOF;
//echo $sql_select;
$result = $conn->query( $sql_select ) ;
if ( $result->num_rows <= 0){
$sql_insert = <<<EOF
insert into user values($uid, '$upd')
EOF;
if ( $conn->query($sql_insert) === TRUE )
{
echo '注册成功';
}
else {
echo "注册失败,请重试" . $sql . '<br>' . $conn->error;
}
}
else {
echo "用户已存在";
}
$conn-close();
?>
用PHP&JS实现的ID&密码校验程序的更多相关文章
- 用python实现密码校验程序
密码需要符合下面的要求: 8个字符以上,包含数字,大小写,开头不能为特殊字符. #! /usr/bin/pythonimport re password = str(input()) def lenO ...
- MySQL_(Java)使用JDBC创建用户名和密码校验查询方法
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL数据库中的数据,数据库名garysql,表名garytb,数据库中存在的用户表 通过JDBC对MySQL中的数据用户名和密码 ...
- JS实现登录页密码的显示和隐藏功能
在登录页经常会用到通过点击文本框的类似小眼睛图片来实现隐藏显示密码的功能,其实实现原理很简单,通过点击事件来改变input的type类型,具体过程看代码: 在没给大家分享实现代码之前,先给大家展示下效 ...
- 密码校验正则表达式(java 环境)
密码校验需求: 1) 密码控制只能输入字母.数字.特殊符号(~!@#$%^&*()_+[]{}|\;:'",./<>?)2) 长度 6-16 位,必须包括字母.数字.特殊 ...
- js 正则之 判断密码类型
原文:js 正则之 判断密码类型 今天没啥写的,就分享个思路吧.之前在群里讨论的时候,谢亮兄弟说判断密码是否是纯数字,纯字母之类的.如果用 , 条判断,那就老长一大段了.这个思路是我之前看 jQuer ...
- 针对单个 js 文件禁用 ESLint 语法校验
问题描述: 在 Vue-cli 创建的项目中,使用了 ESLint 规范代码的项目中 如何针对单个 js 文件禁用 ESLint 语法校验,但整个项目依然保留 ESLint 的校验规则? 解决方案: ...
- 用servlet进行用户名和密码校验
用servlet进行用户名和密码校验 先来看看效果-- 这里为了方便查看,密码框并没有使用password输入框,而是使用了text框 总体来说思路还是比较简单 1.先来个form,配置好action ...
- js 给指定ID赋值
js 给指定ID赋值 <script language="javascript" type="text/javascript"> document. ...
- 使用CAtlRegExp类进行密码校验
前言 最近做了一个小需求,新建用户时输入的密码必须包含数字.小写字母.大写字符以及特殊字符,目的是为了增强密码的强度,如果没有其中一项,就需要弹出窗口进行提示. 正则表达式 对于此类 ...
随机推荐
- git 工作中实用合并分支
合并分支 .克隆远程分支 git clone -b dev1. url .创建本地分支,并关联远程分支 git checkout -b dev_wt orgin/dev_wt .合并某分支到当前分支 ...
- Django CBV方法装饰器
from django.utils.decorators import method_decorator 1.在post 或 get方法 添加 @method_decorator(装饰器) 2.给类添 ...
- Jenkins-k8s-helm-harbor-githab-mysql-nfs微服务发布平台实战
基于 K8S 构建 Jenkins 微服务发布平台 实现汇总: 发布流程设计讲解 准备基础环境 K8s环境(部署Ingress Controller,CoreDNS,Calico/Flannel) 部 ...
- 机器学习回顾篇(15):集成学习之GDBT
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- 电脑开机后多了OneKey Ghost启动选项怎么解决
原文地址:http://www.xitongcheng.com/jiaocheng/dnrj_article_18745.html 大多数用户在使用OneKey Ghost安装电脑系统后,会在开机启动 ...
- 机器学习环境配置系列一之CUDA
本文配置的环境为redhat6.9+cuda10.0+cudnn7.3.1+anaonda6.7+theano1.0.0+keras2.2.0+jupyter远程,其中cuda的版本为10.0. 第一 ...
- 18年第一弹射 和网络有关; 艾曲塞嗯诶系列篇 one
1:当指定接口运行在RIP2组播方式时,以下说法正确的是 2个答案 A 只接收RIPv2组播报文 B 不接收RIPV1 广播报文 2 下面哪条命令是把PPP的认证方式设置为PAP? C ppp au ...
- Dynamics email的subject标题出现 CRM:0000xxxx
怎样移除email subject标题中出现的CRM:0000xxxx Settings->Administration->System Settings->Email->Un ...
- Python3之MySQL操作
1.安装pymysql PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,在使用之前需要进行安装,可以使用以下命令安装最新版的 PyMySQL: 1).在cmd命令 ...
- mysql -- collection一对多查询
数据库表 角色组表: CREATE TABLE `sso_character_group` ( `group_id` ) NOT NULL AUTO_INCREMENT COMMENT '角色组ID' ...