我的第九个AJAX程序(注册页面)

2024-01-26 02:48

本文主要是介绍我的第九个AJAX程序(注册页面),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前端:

common.js

function $(id) {return document.getElementById(id);
}function createXhr(){var xhr;if(window.XMLHttpRequest){xhr = new XMLHttpRequest();}else{xhr = new ActiveXObject("Microsoft XMLHttp");}return xhr;
}
register.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>学子注册</title><style>#span1 {display: inline-block;width: 100px;text-align: right;}</style>
</head>
<body><h2>注册页面</h2><form action="register.php" method="post"><p><span id="span1">用户名:</span><input type="text" name="uname" id="uname" οnblur="checkuname()"><span id="unameTip"></span></p><p><span id="span1">密码:</span><input type="password" name="upwd" id="upwd" οnblur="checkupwd()"><span id="upwdTip"></span></p><p><span id="span1">重复密码:</span><input type="password" name="cpwd" id="cpwd" οnblur="checkcpwd()"><span id="cpwdTip"></span></p><p><span id="span1">电子邮件:</span><input type="email" name="email" id="email"></p><p><span id="span1">联系方式:</span><input type="text" name="phone" id="phone" οnblur="checkphone()"><span id="phoneTip"></span></p><p><span id="span1">姓名:</span><input type="text" name="user_name" id="user_name" οnblur="checkuser_name()"><span id="userNameTip"></span></p><p><span id="span1">性别:</span><select name="gender" id="gender"><option value="1">男</option><option value="0">女</option></select></p><input type="submit" value="提交"></form><script src="common.js"></script><script>function checkuname() {var uname = $("uname").value;if(uname == ""){$("unameTip").innerHTML = "不能为空";}else{var xhr = createXhr();console.log(uname);xhr.open("get","checkuname.php?uname="+uname,true);xhr.onreadystatechange = function() {if(xhr.readyState == 4 && xhr.status == 200){var resText = xhr.responseText;$("unameTip").innerHTML = resText;}}xhr.send(null);}}function checkupwd() {var upwd = $("upwd").value;if(upwd == ""){$("upwdTip").innerHTML = "不能为空";}else{$("upwdTip").innerHTML = "通过";}}function checkcpwd() {var upwd = $("upwd").value;var cpwd = $("cpwd").value;if(cpwd == ""){$("cpwdTip").innerHTML = "不能为空";}else if(upwd == cpwd){$("cpwdTip").innerHTML = "通过";}else{$("cpwdTip").innerHTML = "密码不一致";}}function checkphone() {var phone = $("phone").value;if(phone == ""){$("phoneTip").innerHTML = "不能为空";}else{$("phoneTip").innerHTML = "通过";}}function checkuser_name() {var user_name = $("user_name").value;if(user_name == ""){$("userNameTip").innerHTML = "不能为空";}else{$("userNameTip").innerHTML = "通过";}}</script>
</body>
</html>
后台:

init.php

<?php $conn = mysqli_connect("127.0.0.1","root","","xz",3306);$initsql = "SET NAMES UTF8";mysqli_query($conn,$initsql);
?>

checkuname.php

<?php require("init.php");@$uname = $_REQUEST["uname"];if($uname == null || $uname == ""){die("uname required");}$sql = "SELECT uname FROM xz_user WHERE uname='$uname'";$result = mysqli_query($conn,$sql);if($result === false){echo "异常,请检查SQL语句";echo $sql;}else{$count = mysqli_affected_rows($conn);if($count == 1)    //缺点:这里没有对已经重复的用户名设置成不能提交,只能提示echo "用户名重复";elseecho "用户名可以使用";}
?>




这篇关于我的第九个AJAX程序(注册页面)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/645413

相关文章

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [