PHP+javascript로 사용자 등록 모듈 구현(소스코드 첨부)
APhp + JavaScript 사용자 등록 모듈 구현(관련 소스 코드)
I. 기능 소개
사용 언어: HTML + JavaScript + AJAX + PHP
백엔드 데이터베이스: MySQL (* 스타일은 여기에 관련되지 않습니다)
성공적인 등록 프로세스:
① 사용자 정보를 수집하기 위한 양식을 제공하는 등록 페이지(register.html)입니다.
② 제출 후, Register.php 페이지로 이동하여 PHP를 사용하여 등록 정보를 데이터베이스에 추가합니다.
2. 구현 코드 (1)MySql 데이터베이스에 사용자 정보 테이블 생성
요구 사항: 사용자 정보 테이블 생성:
코드:CREATE TABLE xxx_user(
uid INT PRIMARY KEY AUTO_INCREMENT,
uname VARCHAR(32),
upwd VARCHAR(32),
email VARCHAR(64),
phone VARCHAR(16),
gender INT #性别 0-女 1-男
);
요구 사항:
register.html(비-ajax) 생성, 다음 컨트롤 제공(양식) - ● 로그인 이름 - 텍스트 상자
● 로그인 비밀번호 - 비밀번호 상자 ● 비밀번호 확인 - 비밀번호 상자
● 사용자 사서함 - 이메일
● 연락처 정보 - 텍스트 상자
● 사용자 성별 - 드롭다운 상자
● 등록 버튼
code<form action="./data/users/register.php" method="post"> <!-- 1.注册信息不用异步加载,直接提交表单;失去焦点时验证用户名密码是否正确,再用ajax异步加载数据; 2.form表单作用:收集用户信息并提交给服务器; 3.属性action作用:定义表单被提交时发生的动作,通常定义的是服务器上处理程序的地址(url),提交到注册的php文件,默认提交给本页; 4.属性method作用:指定表单数据的提交方式。 get(默认值)——明文提交,待提交的数据会显示在地址栏上; post——隐式提交,提交的数据不会显示在地址栏上。 --> <!--控件提交信息,嵌套在form标记里面--> <!--登录名称-文本框--> <p> 登录名称:<input type="text" id="uname" name="uname" onblur="check_name()"> <!--提示用户名是否一致的位置--> <span id="uname-show"></span> <!--提交数据时提交name属性的值,点击submit时,name属性通过表单form提交数据,同步提交数据--> </p> <!--登录密码-密码框--> <p> 登录密码:<input type="password" id="upwd" name="upwd"> <!--name值与id值可以重复,name值用于提交给服务器,id值在前端用--> </p> <!--确认密码-密码框--> <p> 确认密码:<input type="password" id="cpwd" name="cpwd" onblur="check_pwd()"> <!--onblur为失去焦点属性,调用判断密码是否一致的函数--> <!--用于提示两次密码是否一致的位置--> <span id="pwd-show"></span> </p> <!--用户邮箱-电子邮件--> <p> 电子邮箱:<input type="email" name="email"> <!--type="email" 可做简单的格式验证--> </p> <!--联系方式-文本框--> <p> 手机号码:<input type="text" name="phone"> </p> <!--用户性别-下拉框--> <p> 用户性别: <select name="gender"> <option value="1">男</option> <option value="0">女</option> </select> <!--下拉列表和选项,往数据库中插入的是value的值--> </p> <!--注册按钮--> <p> <input type="submit" value="注册"> <!--submit按钮的表单提交数据,是同步访问数据的方式--> </p> </form>
요구 사항:
① init.php에서 재사용된 연결 데이터베이스를 캡슐화합니다.
코드는 다음과 같습니다.<?php //data/init.php //创建到服务器的连接,连接数据库 $conn=mysqli_connect("127.0.0.1","root","","knewone",3306); $sql="SET NAMES UTF8"; mysqli_query($conn,$sql);
요구 사항: ② Register.html에서 제출한 데이터를 받아 데이터베이스에 삽입합니다. 그런 다음 힌트를 주세요
<?php
//data/users/register.php
#1.获取请求提交的数据
$uname=$_REQUEST["uname"];
//uname值就是前端页面中name属性的值
$upwd=$_REQUEST["upwd"];
//确认密码不用获取,获取一个密码就行
$email=$_REQUEST["email"];
$phone=$_REQUEST["phone"];
$gender=$_REQUEST["gender"];
#2.连接到数据库
require("../init.php");
#3.拼sql语句并执行
$sql="insert into xxx_user(uname,upwd,email,phone,gender)values('$uname','$upwd','$email','$phone','$gender')";
//字段值 外面用双引号,里面用单引号
$result=mysqli_query($conn,$sql);
//执行sql语句
#4.根据执行结果给出响应
if($result==true){ //函数返回值
echo "注册成功";
}else{
echo "注册失败";
};
요구 사항:
① 재사용 가능한 함수 캡슐화
코드는 다음과 같습니다.<script>
//1.封装函数,获取id值
function $(id){
return document.getElementById(id);
}
//2.创建xhr对象
function createXhr(){
var xhr=null;
if(window.XMLHttpRequest){
xhr=new XMLHttpRequest(); //标准创建
}else{
//IE8以下的创建方式
xhr=new ActiveXObject("Microsoft.XMLHttp");
}
return xhr;
}
</script>
② 프론트엔드 구현 이 페이지는 사용자 이름의 반복성과 두 비밀번호의 일치 여부를 확인하는 기능을 완성합니다.
코드는 다음과 같습니다.<script src="./js/common.js"></script>
<script>
//1.完成用户名称的重复性验证(异步,检查数据库中是否已存在当前用户名)
//异步请求数据,因为还要输入下面的数据,不能跳转到php页面去验证
function check_name(){
//1.创建XHR对象 创建异步对象
var xhr=createXhr(); //调用common.js中封装好的函数
//2.创建请求
var uname=$("uname").value;
//获取输入框里的值,把用户名传到后端,再查询
var url="./data/users/check-name.php?uname="+uname;
xhr.open("get",url,true);
//查询用户名称,用get方法就行,去数据库查询,看用户名是否已经存在
//查询用get就行,向服务器提交数据时再用post
//3.设置回调函数,监听状态
//参数true,异步
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
//判断状态,xhr请求状态为4,表示接收响应数据成功;当status的值是200的时候,表示服务器已经正确的处理请求以及给出响应
$("uname-show").innerHTML=xhr.responseText;
//提示内容
};
};
//4.发送请求
xhr.send(null);
//get请求,参数写null
}
//2.定义函数,判断两次密码是否一致
//当确认密码框失去焦点时,验证两次输入的密码是否一致,并给出提示(通过/密码不一致)
//给upwd 和 cpwd 加id
function check_pwd(){
//1.获取两个密码框的值
var upwd=$("upwd").value;
//$("upwd") 获取id值,函数在common.js中封装
var cpwd=$("cpwd").value;
if(upwd==cpwd && upwd!=""){
//判断是否相等,且密码不为空
$("pwd-show").innerHTML="通过";
//提示到span中,用innerHTML
}else{
$("pwd-show").innerHTML="两次密码输入不一致";
};
};
</script>
기능:
프런트 엔드 전송 uname 값을 수락하고 데이터베이스에 동일한 이름이 있는지 쿼리하고 반환 프롬프트를 제공합니다.
코드는 다음과 같습니다.<?php
//data/users/check-name.php
#1.连接数据库
require("../init.php");
#2.接收前端传过来的uname
$uname=$_REQUEST["uname"];
#3.拼接sql,并查询uname是否存在
$sql="SELECT * FROM xxx_user uname='$uname'";
$result=mysqli_query($conn,$sql);
#4.根据查询的结果输出相应
$row=mysqli_fetch_row($result);
//抓取一条数据,即当前uname对应的数据
if($row==null){
//如果$row为空,即数据库中没有相同的用户名存在
echo "通过";
}else{
echo "用户名称已存在";
};
이 기사는 https://blog.csdn.net/weixin_38840741/article/details/80030792
추천 튜토리얼: "PHP Tutorial
"에서 복제되었습니다.
위 내용은 PHP+javascript로 사용자 등록 모듈 구현(소스코드 첨부)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

다음 단계를 통해 phpmyadmin을 열 수 있습니다. 1. 웹 사이트 제어판에 로그인; 2. phpmyadmin 아이콘을 찾고 클릭하십시오. 3. MySQL 자격 증명을 입력하십시오. 4. "로그인"을 클릭하십시오.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 주로 데이터를 신속하고 안정적으로 저장하고 검색하는 데 사용됩니다. 작업 원칙에는 클라이언트 요청, 쿼리 해상도, 쿼리 실행 및 반환 결과가 포함됩니다. 사용의 예로는 테이블 작성, 데이터 삽입 및 쿼리 및 조인 작업과 같은 고급 기능이 포함됩니다. 일반적인 오류에는 SQL 구문, 데이터 유형 및 권한이 포함되며 최적화 제안에는 인덱스 사용, 최적화 된 쿼리 및 테이블 분할이 포함됩니다.

Redis는 단일 스레드 아키텍처를 사용하여 고성능, 단순성 및 일관성을 제공합니다. 동시성을 향상시키기 위해 I/O 멀티플렉싱, 이벤트 루프, 비 블로킹 I/O 및 공유 메모리를 사용하지만 동시성 제한 제한, 단일 고장 지점 및 쓰기 집약적 인 워크로드에 부적합한 제한이 있습니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.
